混合二进制分析工具

逆向工程 工具 静态分析 动态分析
2021-07-09 08:36:08

我有一个想法,通过 IDA python 脚本接口将静态和动态分析合并到一个可视化中。该概念涉及在每个功能或基本块(可配置)处自动设置断点,在捕获每个点的跟踪数据时自动单步执行它们,然后通过修改后的图形视图呈现程序流。甚至可能在采用替代控制流路径时捕获差异。

我不知道目前有任何工具可以做到这一点,但它似乎在复杂或混淆的程序中非常有用。想法、问题或评论?

2个回答

基本的想法并不新鲜,之前已经做过好几次了。

可能第一个工作工具是Pedram Amini 的Process Stalker

IDA 也有自己鲜为人知的跟踪功能,它可以使用任何可用的调试后端,包括 PIN(这里有一些过时的帖子)。

最近的新人之一是灯塔,它看起来很不错。

您甚至可以使用 Cheat Engine 执行您所描述的某些操作,而且我确信还有许多其他工具我没有听说过。

然而,总是有创新的余地,所以如果你不能完全找到你需要的东西,不要让它阻止你自己制作。

您所描述的似乎是,或者至少与动态二进制仪器非常相似,并且有很多工具可以做到这一点。DynamoRIOfridaPin 工具是三种广为人知的工具,可以做到这一点。

如果您愿意使用静态检测,angr是另一个不错的选择。