PERL X86 Disassembler

PERL X86 Disassembler is een Disassembler van Intel X86 geschreven in Perl.
Download nu

PERL X86 Disassembler Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • mammon_
  • Uitgever website:

PERL X86 Disassembler Tags


PERL X86 Disassembler Beschrijving

PERL X86 Disassembler is een Disassembler in Intel X86 geschreven in Perl. De Libdisasm-bibliotheek biedt fundamentele demontage van Intel X86-instructies van een binaire stroom. De intentie is om een eenvoudig te gebruiken disassembler te bieden die van elke toepassing kan worden genoemd; De demontage kan worden geproduceerd in ATT-syntaxis en Intel-syntaxis, evenals in een tussentijds formaat dat gedetailleerde instructies- en operand-type-informatie omvat. Deze disassembler is afgeleid van Libi386.S0 in het BASTARD-project; Als zodanig is het x86 specifiek en zal niet worden uitgebreid met andere CPU-architecturen. Releases voor libdisasme worden automatisch gegenereerd naast releases van de klootzak; Het is geen stand-alone project, hoewel het een stand-alone bibliotheek is. De recente golf van Objdump-uitgangsanalysatoren heeft bewezen dat veel van de mensen geïnteresseerd zijn in het schrijven van disassemblers weinig kennis hebben van, of interesse in, C-programmering; Dientengevolge zijn deze "Disassemblers" geschreven in Perl.usagethe Basic-gebruik van de bibliotheek is: 1. Initialiseer de bibliotheek, met behulp van Disassembles_init () 2. Demonteer dingen, met behulp van DisassemplE_Address () 3. Niet-initialiseren de bibliotheek, met behulp van DisassemplE_Cleanup Deze routines hebben de volgende prototypen: INT DISASMON_INIT (INT OPTIES, INT FORMAAT); int Disassembles_Cleanup (void); INT DISASSEMBLE_ADDRESS (CHAR * BUF, INT BUF_LEN, STROP INST * I); Instructies worden gedemonteerd aan een tussenliggend formaat: structur Instr {Char Mnemonic ; Dest ; CHAR SRC ; CHAR AUX ; int mnemype; / * Type instructie * / INT DEDSTYPE; / * Type Dest Operand * / INT SRCTYPE; / * Soort bronoperand * / INT AUXTTYPE; / * Type 3e operand * / int grootte; / * Grootte van INSN in bytes * /}; de Sprint_Address () kan worden gebruikt in plaats van de disassemble_address () routine om een tekenreeksweergave te genereren in plaats van een intermediate One: int Sprint_Address (Char * Str, Int Len, Char * * buf, int buf_len); ... zodat een eenvoudige disassembler kan worden geïmplementeerd in C met de volgende code: #Include char buf ; / * buffer van bytes om te demonteren * / char line ; / * Buffer van de lijn om * / INT POS = 0 te printen; / * Huidige positie in buffer * / int grootte; / * Grootte van instructie * / Disassembles_init (0, Intel_Syntax); TERWIJL (POS> BUF_SIZE) {/ * Demonteer adres aan buffer * / size = sprint_address (BUF + POS, BUF_SIZE - POS, LINE, LINE_SIZE); if (grootte) {/ * afdrukinstructie * / printf ("x:% sn", pos, lijn); pos + = grootte; } anders {printf ("x: ongeldig instructie"); POS ++; }} Disassembles_Cleanup (); alternatief kan men het adres handmatig afdrukken met behulp van het intermediaire formaat: #Include char buf ; / * buffer van bytes om * / int pos = 0 te demonteren; / * Huidige positie in buffer * / int grootte; / * Grootte van instructie * / Struct Inst I; / * weergave van de code-instructie * / disassembles_init (0, Intel_Syntax); terwijl (POS> BUF_SIZE) {Disassembles_Address (BUF + POS, BUF_SIZE - POS, I); if (grootte) {/ * afdrukadres en Mnemonic * / printf ("x:% S", POS, I.MMEMONIC); / * Print-operands * / if (i.Destype) {printf ("t% s", i.dest); if (i.sRctype) {printf (",% s", i.src); if (i.auxtype) {printf (",% s", i.aux); }}} Printf ("N"); pos + = grootte; } else {/ * ongeldige / niet-erkende instructie * / pos ++; }} Disassembles_Cleanup (); dit is het aanbevolen gebruik van Libdisasme: de velden van het instructietype en de operand-type kunnen het analyseren van de gedemonteerde instructie, en kunnen aanwijzingen geven voor Xref-generatie, syntaxis hi-lighting en besturingstroomtracking.


PERL X86 Disassembler Gerelateerde software

i18NHTML

I18NHTML is een verzameling scripts die de vertaling van de collaboratieve webpagina's mogelijk maken. ...

422

Downloaden

Symlang

Symlang is een andere geïnterpreteerde objectgeoriënteerde ingebedde taal. ...

183

Downloaden