谁能建议一个免费的,最好是开源的软件工具,该工具可以从同一程序的一组x86执行迹线中重建/构建/生成控制流图?话题。但是,我找不到它们的实现。

任何建议将不胜感激。谢谢!

评论

不是重复的,而是相关的:生成汇编指令的调用图

嗨,您能更新链接吗?参考已死。

@computereasy两个链接都对我有用

请问您用于跟踪x86指令的工具是什么。我正在寻找一种可以捕获指令以及正在运行的程序的内存变化的工具。非常感谢。

@NoraHuang您尝试过Intel PIN码吗?

#1 楼

对于这个自我宣传,我感到很抱歉,但是我正在这里开发一种工具。我的最终目标是恢复虚拟化二进制文件的原始控制流程图。但是在此步骤中,出于可视化的目的,我实现了一种功能,可以从迹线重建二进制文件的CFG。这种重构的主要实现是在文件src/lib/cap/graph.cpp中,它在从大约100K条指令的迹线构造基本框图中的性能方面没有问题(我已经在跟踪大约30万条指令的模糊二进制文件上进行了测试)。您可以在文件夹demoresults中看到几个pdf文件,这些文件是我从执行跟踪中生成的。

评论


感谢您的回答。您的项目似乎非常有趣,我想构建并使用它。但是,我与libprotobuf有一些问题。您的项目需要哪个版本? Ubuntu 14.04随附的版本似乎不兼容。

–本尼
15年7月17日在22:11

非常感谢您的关注,本尼。我非常感激。实际上,您不需要protobuf即可构建代码。 protobuf用于仪器工具(Pin)和conlicolic执行引擎之间的通信,但是由于引擎不够灵活且性能目前很差,因此尚未完全发布。因此,我更改了CMake文件,以便无需protobuf即可构建该文件,在构建此代码时会遇到哪些错误?

– Ta Thanh Dinh
15年7月18日在10:08



由于存在一些晦涩的技术细节,我将编写一个简单的文档来解释如何使用它。但是,如果您有任何疑问,请不要犹豫,问我。

– Ta Thanh Dinh
15年7月18日在10:09

对不起,本尼。不幸的是,自从今天早上与我的同事讨论以来,我不得不关闭项目。我认为这不是关于机密性的问题,但这不是发布该工具的合适时机。

– Ta Thanh Dinh
15年7月18日在15:48

没问题,当您决定再次发布该项目时,请通知我。谢谢!

–本尼
15年7月19日在10:13