使用 Python 进行二进制检测

逆向工程 二元分析
2021-06-09 05:31:06

我对使用 Python 执行(动态)二进制检测感兴趣,以便能够在执行期间通过指令分析二进制文件

  • 视窗

  • Linux

    有人可以建议这样的工具/框架吗?它甚至存在或可能吗?

2个回答

来自https://code.google.com/p/processtap/ -

ProcessTap是一个用于分析闭源应用程序的动态跟踪框架。ProcessTap 受到DTraceSystemTap 的启发,但它专门用于分析封闭源代码的用户空间应用程序。ProcessTap 利用动态二进制检测来拦截感兴趣的事件(例如,函数调用、系统调用、内存访问和条件控制传输)。尽管当前的实现依赖于PinTool,但可以使用用于检测的替代后端(例如ValgrindQemuDynamoRIO)。ProcessTap 中用于编写脚本以检测应用程序的语言是Python

尽管是一个下午的黑客,这个静态的二进制检测器可能会让你达到目标。但是,请考虑以下关键限制:

  • 它不是动态的,因为它在编译时运行,而不是在运行时运行。
  • 它也不全面,因为共享和动态加载的库不会被检测到。
  • 它不提供维护状态的机制,除非在您自己的代码中进行链接(例如在gc目录 和 中Makefile)。没有一种将检测连接到该代码的好方法,除非可能声明并使用一个extern您知道其名称已损坏符号。

但是,它在 python 中;-)