Alguém sabe como obter o pseudocódigo para x86-64 no IDA Pro? Já experimentei o plugin Hex-Rays para obter o pseudocódigo, mas quando o tento, aparece o seguinte erro: “somente o código de 32 bits é compatível”.

Comentários

  • bem, que tipo de binário você tem? x86, x86_64, ARM …?

Resposta

As outras duas respostas aqui estão desatualizadas.

Do site hex-rays, na página sobre o descompilador hex-rays:

Atualmente, o descompilador oferece suporte ao código gerado pelo compilador para os processadores x86, x64, ARM32, ARM64 e PowerPC. Planejamos portá-lo para outras plataformas e adicionar uma API programática. Isso permitirá que nossos clientes implementem seus próprios métodos de análise. Pesquisa de vulnerabilidade, validação de software, análise de cobertura são as direções que vêm imediatamente à mente.

Em 2014/06/04, com o lançamento do IDA 6.6 hex -rays lançou oficialmente seu descompilador x86 de 64 bits, e ele tem sido continuamente melhorado desde então. O lançamento oficial pode ser visto na página da IDA 6.6 como o primeiro novo recurso, bem como em seu changelog .

É um produto separado e vendido à parte de seu descompilador x86 de 32 bits e atualmente é cotado pelo mesmo preço que os outros descompiladores (consulte as cotações de preço página para licenças nomeadas).

Mais de dois anos após o primeiro lançamento, o descompilador está totalmente equipado e é considerado de alto nível.

Duas imagens de usar a desmontagem e descompilação de 64 bits x86 da IDA (da página hex-ray IDA 6.6):

Exemplo de desmontagem IDA 6.6
(fonte: hex-rays.com )

Descompilação de exemplo IDA 6.6

Outras soluções

Existem, entretanto, outras soluções que fornecem um plugin IDA para descompilação. Embora não seja exatamente o que você estava procurando, eles fornecem outra maneira possível de atingir seu objetivo desejado:

  1. Boneco de neve , Um completo -descompilador desenvolvido com um plug-in IDA
  2. um plug-in para AVG “s Decompilador retargetável online descompilador ( Mencionado por @ws)
  3. Um plugin descompilador IDA somente para Python chamado ida-decompiler ( Mencionado por @ 0xea)

Comentários

  • Também existe um plugin de retdec.com/idaplugin . Suporta Intel x86, ARM, ARM + Thumb, MIPS, PIC32, PowerPC em ELF, PE , COFF, AR (arquivo) e formatos Intel HEX. Observe que o processo de descompilação ocorre no servidor, não localmente.

Resposta

Até onde eu sei, o plugin IDA Hex-ray suporta apenas descompilação de x86 e ARM (se você tiver um licença para ARM). Não funciona em x86_64.

No entanto, se você precisa de algo que funcione em x86_64, dê uma olhada em ida-decompiler :

Um plug-in IDA que tenta descompilar uma função. Escrito em Python. Para tentar em IDA, coloque o cursor sobre uma função e execute o plug-in . A função descompilada aparecerá na janela de saída.

Obviamente, não é tão avançada quanto Hex-Rays, mas é um bom passo em direção a um bom descompilador aberto.

Comentários

  • Isso estava correto no momento da redação original, mas não é mais. Por favor, dê uma olhada em minha resposta .

Resposta

Se você realmente deseja um pseudo-código e está sem sorte com o IDA Pro, pode deseja experimentar a versão demo do hopper : ele pode gerar pseudocódigo para x86, x86-64 e ARM.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *