Perl x86 sökmek

Perl X86 Disassembler, Perl'de yazılmış bir Intel X86 demonsembin'dir.
Şimdi İndirin

Perl x86 sökmek Sıralama ve Özet

Reklamcılık

  • Rating:
  • Lisans:
  • Artistic License
  • Fiyat:
  • FREE
  • Yayıncı adı:
  • mammon_
  • yayıncı web sitesi:

Perl x86 sökmek Etiketler


Perl x86 sökmek Açıklama

Perl X86 Disassembler, Perl'de yazılmış bir Intel X86 demonsembin'dir. LibDisasm kütüphanesi, Intel X86 talimatlarının bir ikili akıştan temel demontaj sağlar. Niyet, herhangi bir uygulamadan çağrılabilecek kullanımı kolay bir sökme sağlamaktır; Sökme, ATT Sözdizimi ve Intel Sözdiziminin yanı sıra ayrıntılı talimat ve operand tipi bilgileri içeren bir ara biçimde üretilebilir. Bu ayrımcı, Libi386'dan türetilmiştir. Böyle bir şekilde X86 spesifik ve diğer CPU mimarilerini içerecek şekilde genişletilmeyecektir. Libdisasm için sürümler, piçlerin serbest bırakılmasıyla birlikte otomatik olarak üretilir; Bağımsız bir kütüphane olmasına rağmen bağımsız bir proje değildir. Objdump çıktı analizörlerinin son sisi, ; char destan ; char src ; char aux ; int mnemtype; / * Talimat türü * / int destType; / * DEST Operand * / int srctype; / * Kaynak çalışma türü * / int auxtype; / * 3. operand * / int boyutunun tipi; / * BYTES * /} cinsinden insn boyutu; Sprint_address (), bir ara madde yerine bir dize gösterimi oluşturmak için sökme_address () rutinin yerine kullanılabilir: int sprint_address (char * str, int len, char * BUF, INT BUF_LEN); ... Böylece basit bir sökmen, aşağıdaki kodla birlikte C'de uygulanabilir: #include char buf ; / * * / karakter çizgisini sökmek için bayt tamponu ; / * Çizgi tamponu * / int pos = 0; / * Tampondaki akım pozisyonu * / int boyutu; / * Talimatın Boyutu * / Disassemble_init (0, Intel_Syntax); (POS> BUF_SIZE) {/ * Adresi Tampon'a sökünüz * / Size = Sprint_Address (BUF + POS, BUF_SIZE - POS, LINE, LINE_SIZE); if (boyut) {/ * Yazdırma talimatı * / printf ("x:% SN", POS, LINE); pos + = boyut; } else {printf ("x: geçersiz talimat"); Pos ++; }}} DisasyonMBLE_CLEANUP (); Alternatif olarak, bir kişi ara formatı kullanarak adresi manuel olarak yazdırabilir: #include char buf ; / * * / int pos = 0 sökmek için bayt tamponu; / * Tampondaki akım pozisyonu * / int boyutu; / * Talimatın boyutu * / BÜTÜNLÜĞÜ GERİ; / * Kod talimatının temsili * / Disassemble_init (0, Intel_Syntax); (POS> BUF_SIZE) {DISASSEMBLE_ADDRESS (BUF + POS, BUF_SIZE - POS, I); if (boyut) {/ * Yazdırma adresi ve Mnemonic * / printf ("x:% s", POS, I.Mnemonic); / * Yazdırma işlemleri * / if (i.desttype) {printf ("t% s", i.dest); if (i.srctype) {printf (",% s", i.src); if (i.auxtype) {printf (",% s", i.aux); }}} printf ("n"); pos + = boyut; } else {/ * Geçersiz / tanınmayan talimat * / POS ++; }} Disassemble_Cleanup (); Bu, LibDisasm'ın önerilen kullanımıdır: talimat türü ve operand tipi alanları, sökülmüş talimatın analizine izin verir ve XREF üretimi, sözdizimi yüksek ışıklandırma ve kontrol akış izlemesi için ipuçları sağlayabilir.


Perl x86 sökmek İlgili Yazılım

Denetçi

Denetçi, ikili çalıştırılabilir dosyaları sökmek için adli bir araçtır. ...

140

İndirmek

Ocamli18n

OCAMLI18N, objektif caml programlarının uluslararasılaşması için bir kütüphanedir. ...

181

İndirmek