我写了一个PIN工具,它可以在二进制图像中的某个函数之前和之后注入一些代码。它适用于单个二进制映像。
现在,我的目标是使用该工具在Linux中测试Xserver。我试图通过PIN工具测试“startx”,但它没有用。后来,我发现startx只是一个运行其他命令的shell脚本。
如果我想使用PIN设备xserver,我需要遵循哪些步骤?是否可以使用PIN以某种方式检测shell脚本?
答案 0 :(得分:2)
如果你想要编写脚本,你需要检测脚本解释器(在你的情况下,如果你的脚本是shell脚本,你需要检测你的shell(例如bash))。
在您的情况下,当脚本调用另一个脚本或程序时,您可以使用-follow_execv
开关,它将告诉pin注入所有子进程(您可以通过使用其中一个来微调此行为Follow Child Process API)。
最后它应该检测似乎由startx启动的xinit程序。