C programlama dilini makina diline çevirme

gitarist4646

Katılımcı Üye
18 Eyl 2015
783
0
antalya
arkadaşlar merhaba C ile kod yazınca ilk önce makina diline çevriliyor. bu makina dilini herhangi bir dosyada tutuyor mu? Ben bir program yazdım diyelim C dilinde. Bunun makina dili kodlarını nasıl görebilirim
 

Emperor Federico

Katılımcı Üye
5 Ocak 2013
876
0
Route 66
Bahsettiğin dosya verilerin Binary olarak tutulduğu dosyalar sanırım. Bunlar .hex dosyalarıdır. Bunlara ulaşman için farklı editörler kullanabilirsin. Derledikten sonra .hex dosyasını çıkartıyor.MikroC Pro bunu yapıyor.
 

gitarist4646

Katılımcı Üye
18 Eyl 2015
783
0
antalya
Bahsettiğin dosya verilerin Binary olarak tutulduğu dosyalar sanırım. Bunlar .hex dosyalarıdır. Bunlara ulaşman için farklı editörler kullanabilirsin. Derledikten sonra .hex dosyasını çıkartıyor.MikroC Pro bunu yapıyor.

evet asıl istediğim 0 ve 1 den oluşan ikilik sistem dosyalarına ulaşmak. Ancak ben yaptığım projede .hex dosyasını bulamadım :/ .Program 250 dolarmış :))
 

leaks

Katılımcı Üye
29 Eki 2018
864
1
arkadaşlar merhaba C ile kod yazınca ilk önce makina diline çevriliyor. bu makina dilini herhangi bir dosyada tutuyor mu? Ben bir program yazdım diyelim C dilinde. Bunun makina dili kodlarını nasıl görebilirim


Evet, derleyici tarafından işlenip CPU'nun assembly diline dönüştürülüyor. Daha sonra assembler tarafından makine (nesne) koduna dönüştürüldükten sonra yürütülebilir dosya olarak kaydediliyor. Bu dosya yükleyici (işletim sistemi) tarafından belleğe yüklenip işlemci tarafından yürütülüyor. Dosyayı açarsanız garip karakterler görürsünüz çünkü ekrana sayıların unicode ya da ascii karşılıkları bastırılıyor. Bunun için basit bir program yazabiliriz. Kodu aşağıya bırakırım. Basit bir program üstünde deneyebiliriz:


1Oa5Jc.png


Kod:
int
main (int argc, char *argv[])
{
  return argc;
}
Yukarıdaki program, aldığı komut satırı argümanı sayısını döndürüyor. Programı 'cat' ile ve yazdığım program ile açarsak sonucu görebiliriz:


OCMzGz.png


Buradan makine kodunu gösterme programının kaynak kodlarına ulaşabilirsiniz.


NOT: Çalıştırılabilir dosyalarda sadece makine dili opcode'ları değil, ELF ya da PE header'ları, .text vs kısımlar da bulunabilir.
 
Son düzenleme:

gitarist4646

Katılımcı Üye
18 Eyl 2015
783
0
antalya
Evet, derleyici tarafından işlenip CPU'nun assembly diline dönüştürülüyor. Daha sonra assembler tarafından makine (nesne) koduna dönüştürüldükten sonra yürütülebilir dosya olarak kaydediliyor. Bu dosya yükleyici (işletim sistemi) tarafından belleğe yüklenip işlemci tarafından yürütülüyor. Dosyayı açarsanız garip karakterler görürsünüz çünkü ekrana sayıların unicode ya da ascii karşılıkları bastırılıyor. Bunun için basit bir program yazabiliriz. Kodu aşağıya bırakırım. Basit bir program üstünde deneyebiliriz:


1Oa5Jc.png


Kod:
int
main (int argc, char *argv[])
{
  return argc;
}
Yukarıdaki program, aldığı komut satırı argümanı sayısını döndürüyor. Programı 'cat' ile ve yazdığım program ile açarsak sonucu görebiliriz:


OCMzGz.png



Buradan makine kodunu gösterme programının kaynak kodlarına ulaşabilirsiniz.


NOT: Çalıştırılabilir dosyalarda sadece makine dili opcode'ları değil, ELF ya da PE header'ları, .text vs kısımlar da bulunabilir.

peki hex editor neo ile yapabilir miyiz bunu. Ya da aynı program ile hex dosyası değil de C dosyası ya da exe dosyası açsak(ben denedim)yazılan kodlarda gözükmeyen hata olur mu
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.