PIN工具可以检测包含运行其他命令的代码的bash脚本吗?

时间:2015-06-09 21:38:24

标签: c++ linux shell instrumentation intel-pin

我写了一个PIN工具,它可以在二进制图像中的某个函数之前和之后注入一些代码。它适用于单个二进制映像。

现在,我的目标是使用该工具在Linux中测试Xserver。我试图通过PIN工具测试“startx”,但它没有用。后来,我发现startx只是一个运行其他命令的shell脚本。

如果我想使用PIN设备xserver,我需要遵循哪些步骤?是否可以使用PIN以某种方式检测shell脚本?

1 个答案:

答案 0 :(得分:2)

如果你想要编写脚本,你需要检测脚本解释器(在你的情况下,如果你的脚本是shell脚本,你需要检测你的shell(例如bash))。

在您的情况下,当脚本调用另一个脚本或程序时,您可以使用-follow_execv开关,它将告诉pin注入所有子进程(您可以通过使用其中一个来微调此行为Follow Child Process API)。

最后它应该检测似乎由startx启动的xinit程序。