引脚类似工具,用于编译时注入检测代码

Pin Like Tool for compile time injection of instrumentation code

本文关键字:注入 检测 代码 编译 用于 工具 引脚      更新时间:2023-10-16

您可能知道,PIN 是一个动态二进制检测工具。例如,通过使用 Pin,我可以检测应用程序中的每个负载和存储。我想知道是否有类似的工具可以在编译时注入代码(使用更高级别的信息,不需要我们编写 LLVM 传递),而不是像 Pin 那样在运行时注入代码。我对LLVM的这种工具特别感兴趣。

您可以编写自己的LLVM传递,并将其应用于代码以在编译时"检测"它。这些在LLVM IR上工作并产生LLVM IR,因此对于某些任务,这将是一件非常自然的事情,而对于其他任务,这可能是繁琐或困难的(因为LLVM和IR与源语言之间的差异)。这要看情况。