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
Debuggerlar ile bakabilirsiniz ;
https://x64dbg.com/#start
öncelikle teşekkür ederim ancak direkt olarak 0 ve 1 kodlarını göremem mi bunun ile
Hayır , göremezsiniz.
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.
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
int
main (int argc, char *argv[])
{
return argc;
}
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:
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:Kod:int main (int argc, char *argv[]) { return argc; }
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.
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.