Perl x86 desmontador

Perl x86 disassembler é um desmontador Intel X86 escrito em Perl.
Baixe Agora

Perl x86 desmontador Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • mammon_
  • Site do editor:

Perl x86 desmontador Tag


Perl x86 desmontador Descrição

Perl X86 Disassembler é um desmontador Intel X86 escrito em Perl. A Biblioteca da Libdismay fornece a desmontagem básica das instruções da Intel X86 de um fluxo binário. A intenção é fornecer um desmontador fácil de usar, que pode ser chamado de qualquer aplicativo; A desmontagem pode ser produzida na sintaxe de atr e da Intel Syntax, bem como em um formato intermediário que inclui informações detalhadas do tipo de instrução e operando. Este dissenter é derivado da Libi386.SO no projeto Bastard; Como tal, é X86 específico e não será expandido para incluir outras arquiteturas da CPU. Lançamentos para libdisma são gerados automaticamente ao lado de lançamentos do bastardo; Não é um projeto autônomo, embora seja uma biblioteca independente. O recente despeção dos analisadores de saída de objdump provou que muitas das pessoas interessadas em escrevêções têm pouco conhecimento ou interesse, a programação C; Como resultado, esses "dissembladores" foram escritos em Perl.usagethe o uso básico da biblioteca é: 1. Inicialize a biblioteca, usando desmontar_init () 2. Desmonte o material, usando desmontagem_address () 3. Inicializar a biblioteca, usando desmontagem_cleanup Essas rotinas têm os seguintes protótipos: int desassemble_init (Opções int, formato Int); int dessassemble_cleanup (anule); Int desmontagem_address (Char * BUF, Int BUF_LEN, Struct Instr * I); As instruções são desmontadas em um formato intermediário: Struct Instr {Char Mnemonic ; char dest ; char src ; Char Aux ; int mnemtype; / * Tipo de instrução * / int desttype; / * Tipo de Dest Operand * / Int SrcType; / * Tipo de operando de origem * / int AuxType; / * Tipo de terceiro operando * / int; / * Tamanho do INSN em bytes * /}; o sprint_address () pode ser usado no lugar da rotina desmontar_address () para gerar uma representação de string em vez de um intermediário: int sprint_address (char * str, int len, char * BUF, INT BUF_LEN); ... para que um simples desmontador possa ser implementado em C com o seguinte código: #include char buf ; / * Buffer de bytes para desmontar a linha * / Char ; / * buffer de linha para imprimir * / int pos = 0; / * Posição atual no tamanho do buffer * / int; / * Tamanho da instrução * / desmontagem_init (0, Intel_Syntax); Enquanto (POS> BUF_SIZE) {/ * desmontam o endereço para buffer * / size = sprint_address (BUF + POS, BUF_SIZE - POS, LINE, LINE_SIZE); if (tamanho) {/ * Instrução de impressão * / printf ("x:% sn", pos, linha); pos + = tamanho; } else {printf ("X: Instrução InválidaN"); POS ++; }} desmontar_cleanup (); alternativamente, pode-se imprimir o endereço manualmente usando o formato intermediário: #include char buf ; / * buffer de bytes para desmontar * / int pos = 0; / * Posição atual no tamanho do buffer * / int; / * Tamanho da instrução * / struct Instr i; / * Representação da instrução de código * / desmontagem_init (0, Intel_Syntax); Enquanto (POS> BUF_SIZE) {desmontar_address (BUF + POS, BUF_SIZE - POS, I); if (tamanho) {/ * endereço de impressão e mnemonic * / printf ("x:% s", pos, i.mnemonic); / * Print Operands * / 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 + = tamanho; } else {/ * Instrução inválida / não reconhecida * / POS ++; }} desmontagem_cleanup (); este é o uso recomendado da libdisma: O tipo de instrução e os campos do tipo operando permitem analisar a instrução desmontada e podem fornecer pistas para a geração XREF, iluminação de sintaxe e controle de fluxo de controle.


Perl x86 desmontador Software Relacionado

tk_msg.

ajuda um programador a criar catálogos de mensagens para localizar programas TCL / TK ...

214

Download

i18nhtml.

i18nhtml é uma coleção de scripts que permitem a tradução colaborativa da página da Web. ...

422

Download

Fontes Hunky.

Fontes TrueType Unicode Gratuitas para Báltico, Europeu Central, Europeia do Sul e outras línguas. ...

740

Download