有谁知道在IDA Pro中获取x86-64的伪代码吗?我已经尝试了Hex-Rays插件来获取伪代码,但是当我尝试它时,会弹出以下错误:“仅支持32位代码”。

评论

好吧,您拥有哪种二进制文件? x86,x86_64,ARM ...?

#1 楼

据我所知,IDA Hex-ray插件仅支持x86和ARM反编译(如果您具有ARM许可证)。它不能在x86_64上运行。
但是,如果您需要在x86_64上运行的功能,请查看ida-decompiler:

一个IDA插件,试图对函数进行反编译。用Python编写。要在IDA中进行尝试,请将光标放在函数上,然后执行插件。反编译功能将出现在输出窗口中。

显然,它不如Hex-Rays先进,但这是朝着一个好的开放式反编译器迈出的重要一步。

评论


在最初撰写本文时这是正确的,但现在不再正确。请看看我的答案。

– NirIzr
16年8月20日在15:03

#2 楼

这里的另外两个答案已经过时。
从hex-rays网站上的有关hex-rays反编译器的页面中: ARM32,ARM64和PowerPC处理器。我们计划将其移植到其他平台并添加编程API。这将使我们的客户能够实施自己的分析方法。立即想到漏洞搜索,软件验证,覆盖率分析的方法。

2014年6月4日,随着IDA 6.6的发布,hex-rays正式发布了其64位x86反编译器,并且从那以后一直稳步改善。正式版本可以在IDA 6.6页上看到,这是它的第一个新功能以及更改日志。
它是单独的产品,与x86 32位反编译器分开出售,目前的报价与其他反编译器(请参阅价格报价页以获取命名许可证)。
第一版发布两年多后,该反编译器功能齐全,被认为是高级的。
使用IDA 64位x86拆卸的两个图像和反编译(来自hex-ray的IDA 6.6页面):尽管不是您要找的东西,但是它们提供了另一种可能的方法来实现您的目标:


Snowman,具有IDA插件的成熟反编译器
用于AVG的Retargetable Decompiler在线反编译器(由@ws提及)
名为ida-decompiler的仅Python的IDA反编译器插件(由@ 0xea提及)


评论


还有一个来自retdec.com/idaplugin的插件。它支持ELF,PE,COFF,AR(存档)和Intel HEX格式的Intel x86,ARM,ARM + Thumb,MIPS,PIC32,PowerPC。请注意,反编译过程在其服务器上进行,而不是在本地进行。

– w s
16-09-28在11:03



#3 楼

如果您绝对希望使用伪代码并且对IDA Pro不满意,可以尝试演示hopper的版本:它可以为x86,x86-64和ARM生成伪代码。