Pergunta

Como posso escrever apenas um desmontador simples para linux de arranhões? Existem quaisquer bibliotecas de usar? Eu preciso de algo que "simplesmente funciona".

Foi útil?

Solução

Você tem que entender a ELF arquivo de formato primeiro. Então, você pode começar a processar as várias seções do código de acordo com os códigos de operação de sua arquitetura.

Outras dicas

Em vez de escrever um, tente objdump .

Com base no seu comentário, e seu desejo de implementar a partir do zero, eu levá-la este é um projeto da escola. Você poderia começar a fonte para objdump e ver o que as bibliotecas e técnicas que ele usa. A biblioteca BFD pode ser de uso.

Você pode usar libbfd e libopcodes, que são bibliotecas distribuídas como parte do binutils.

http://www.gnu.org/software/binutils/

Como um exemplo do poder dessas bibliotecas, confira o Disassembler Online (ODA).

http://www.onlinedisassembler.com

ODA suporta uma miríade de arquiteturas e fornece um conjunto de recursos básicos. Você pode inserir dados binários no Live View e assistir a desmontagem aparecem enquanto você digita, ou você pode fazer upload de um arquivo para desmontar. Um recurso interessante deste site é que você pode compartilhar o link para a desmontagem com os outros.

Você pode dar uma olhada no código de ERESI

O ERESI Reverse Engineering Software Interface é uma multi-arquitetura quadro de análise binária com uma linguagem específica de domínio sob medida para engenharia e programa de manipulação inversa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top