gpt4 book ai didi

intel-pin - 如何指定代码区域以通过 pintool 对其进行检测?

转载 作者:行者123 更新时间:2023-12-04 12:07:27 24 4
gpt4 key购买 nike

Pin中有四个粒度级别:例程、指令和图像、跟踪。
我可以指定一个限制/区域来开始和停止插入检测代码。
可以通过 like 指令 like (#start instrumentation , #end instrumentation )
或类似的东西,

一个例子:
for( int i=0; i< x; i++)
{
#startInstrumentation
for( ....;.....;.....)
{
// some code
// function call, conditions , loops, ....
}
#endInstrumentation
}
有没有办法做到这一点?

最佳答案

您可以使用基于跟踪的检测来执行您想要的操作。在每个跟踪的开始,检查它的起始地址,如果它不在感兴趣的范围内,避免添加分析函数并立即从例程返回。

跟踪可能会从感兴趣区域的外部开始,但在其内部结束,或者相反。如果发生这种情况,您将需要对要检测的内容进行更细粒度的选择。在投入精力之前,我会检查这是否是一个真正的问题。

如果您对检测特定例程或图像感兴趣,请考虑使用套件中 InstLib 中的 filter.cpp。 InstLibExamples 中提供了一个使用示例。

现在,至于如何定位这些感兴趣的区域,您有多种选择。如果您无法控制目标二进制文件,您可以在命令行参数中指定区域,作为感兴趣图像的一对偏移量。

如果您可以控制二进制,则可以插入两个符号,指定感兴趣区域的开始和结束,然后使用 SYM 接口(interface)迭代图像符号。

关于intel-pin - 如何指定代码区域以通过 pintool 对其进行检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32026456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com