一般来说,这是一个复杂的话题。对非平凡示例的示例或线性进展似乎很少。
可能我的 google-fu 很弱,但我似乎无法找到有关使用二进制检测框架(Pin、DynamoRIO、其他)的体面教程。
有兴趣的人可以使用哪些资源,而不是在他们开始工作之前磕磕绊绊?
在回答了一些之后,我想我应该强调 dynamorio.org 有时没有响应。该项目位于此处的googlecode 上。
一般来说,这是一个复杂的话题。对非平凡示例的示例或线性进展似乎很少。
可能我的 google-fu 很弱,但我似乎无法找到有关使用二进制检测框架(Pin、DynamoRIO、其他)的体面教程。
有兴趣的人可以使用哪些资源,而不是在他们开始工作之前磕磕绊绊?
在回答了一些之后,我想我应该强调 dynamorio.org 有时没有响应。该项目位于此处的googlecode 上。
在http://www.slideshare.net/null0x00/nullcon-2011-automatic-program-analysis-using-dynamic-binary-instrumentation上有一个关于 PIN 的很好的介绍,也是一个关于 Skype for Linux 使用 Pin http简单解包的很好的教程://joxeankoret.com/blog/2012/11/04/a-simple-pin-tool-unpacker-for-the-linux-version-of-skype/
最后还有一个你可能喜欢的旧演示文稿,“使用 Pin 检测工具进行计算机体系结构研究” http://www.jaleels.org/ajaleel/Pin/slides/1_Intro.ppt
Jurriaan Bremer至少写了两篇关于 Pin 的文章,可以作为很好的介绍。
如果您以前从未接触过 DBI,我发现这本书可以很好地利用 17 美元。由该领域的长期研究人员撰写,描述了 DBI 背后的理论和实践,包括多个 DBI 平台、外来 DBI 工具等。
PIN 和 DynamoRIO 都有完整的文档,其中包含许多完整注释的示例。我认为最好的起点是使用示例,修改它们并查看结果。