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):
(fonte: hex-rays.com )
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:
- Boneco de neve , Um completo -descompilador desenvolvido com um plug-in IDA
- um plug-in para AVG “s Decompilador retargetável online descompilador ( Mencionado por @ws)
- 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.