用于C++的静态二进制检测或二进制重写工具和框架



我正在研究如何在非托管C++ dll 或可执行文件上实现静态二进制检测以获取分析数据。
我想插入打印语句,它将方法的名称本身打印到控制台。 由于开销很大,我不想使用动态二进制仪表(DBI(工具,例如valgrind,DynamoRio。
我遇到了各种用于C#,JAVA的字节码静态检测工具和框架(例如C#-Cecil,MBEL,RAIL(。JAVA-Javassist,BCEL,reJ,Serp,JMangler(.
但没有找到足够的资源来C++。
是否有工具或框架允许我们将代码注入非托管C++ dll 或 exe,或者执行静态二进制输入?
我遇到了像Dyninst,EEL,ERESI,PEBIL(for linux(这样的工具,但没有足够的资源来显示静态二进制工具的正确实现。

LLVM可以执行静态二进制检测。这是LLVM的文档。

我们还可以学习 LLVM 在 github 中实现的 SBI。它在这里提供了一个特定的检测项目。

更重要的是,对于C++的仪器,还有另一个项目。

最新更新