我的问题是,有没有哪个开源的库或项目使用的技术比简单的直线反汇编(基于控制流或启发式)更好? br />
我偶然发现了使用机器学习方法的论文吗?是否有这种方法的开源实现?
#1 楼
Radare 2是一款GPL软件,具有良好的API,并且未使用线性分解。请参见可视模式(Vp命令)示例:
评论
谢谢,您是否碰巧知道他们使用的反汇编方法的链接或文档?
– 3asm_
2014年1月13日上午10:13
@ 3asm_ Pancake和radare2团队的其余成员。具有“当您可以阅读源文件时,书写文档被高估”的理念。因此,请阅读源代码;)
– Stolas
2014年1月13日14:30
@Stolas:好吧,这听起来像Git文档给用户的胖胖“ ......”,它使用户尝试仅使用Git而无需先学习Gitology的十个学期。
– 0xC0000022L♦
2014年1月13日在16:06
@ 0xC0000022L不确定您是否侮辱我。但是radare2团队可以做到这一点是可以理解的。因为他们想花时间写代码而不是创建文档。另外,因为当他们完成了radare1的文档编制后,整个工作都进行了大修……我曾经以书本形式(例如奥莱利的动物书籍)开始自己编写文档,但这太繁琐了。
– Stolas
2014年1月13日在16:19
@ 0xC0000022L实际上,您可以对radare2命令使用内部帮助-只需键入“?”和/或“ <命令名称>”?
–安东·科赫科夫(Anton Kochkov)
2014年1月14日,11:27
#2 楼
我要重新发表我为perror问题写的评论Lida(基于Bastard的libdisasm的工具),distorm和beaengine是一些使用递归反汇编的开源反汇编引擎。
评论
Distorm是线性反汇编AFAIK(用于多个项目时使用)
– NirIzr
17 Mar 9 '17 at 8:03
#3 楼
另一个选择是(对不起,垃圾邮件!)http://pyew.googlecode.com。这是用Python编写的静态分析器,主要用于恶意软件分析。根据您的需要,您可能会发现它很有用(它仅支持16、32和x64 Intel代码)。您可以使用Pyew的API编写自己的脚本(这里有一个更复杂的示例)。我使用(并使用了)进行大型恶意软件分析。确实,当我为他们工作时,Pyew正在分析所有VirusTotal流量。我们用它从一些昂贵的分析中丢弃了一些看起来很相似的样本。Pyew进行递归遍历代码分析(在此进行解释)。 y,它不会像线性扫描反汇编程序那样被愚弄。无论如何,它并不像IDA那样聪明。 Pyew是开放源代码(GPL),有时我甚至会根据您的需求为其提供LGPL许可。
PS:如果您正在寻找一种支持不基于Intel的产品,并且想要某种开源的产品,那么您真的需要检查一下雷达。
评论
非常有见地的感谢,Python中的事实将对我的项目有很大帮助,非常感谢。
– 3asm_
2014年1月16日上午8:47
#4 楼
Capstone Engine
它支持多种架构,例如x86(+ AMD64),ARM,PowerPC和SPARC。
评论
顶点不是仅使用直线分解,而是更专注于支持多种体系结构吗?
– 3asm_
17 Mar 8 '17 at 14:09
评论
我不知道有任何开放源代码库,但是如果您想编写自己的库,请参见reverseengineering.stackexchange.com/questions/2347/…