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