PinTool使用小结

来源:互联网 发布:js 计数器 滚动效果 编辑:程序博客网 时间:2024/06/06 12:36

PinTool使用小结

Pin&DECAF比较

Pin是Intel推出的一款动态二进制插桩工具,目前在学术界使用十分广泛。前不久推出了3.2版本,其主页为Pin主页 。需要注意的是Pin并没有开源,但它提供了丰富的用户使用接口,以及详细的用户手册 。因为某项实验要求,需要用到污点追踪。最开始我是先用了DECAF(TEMU的后继),不过因为对环境要求颇为麻烦以及实在是太慢了,加上DECAF没有直接对文件污点追踪的插件(TEMU中是存在有对文件直接的追踪指令,但要求也多),所以改战Pin。简单提下对Pin和DECAF的分别印象就是,Pin适合简单上手,DECAF适合更低层的系统级的分析。

Pin的快速上手

Pin的上手十分简单,简单而言,可以通过Pin自带的多个示例来进行些简单的体验。需要注意的是,Pin有多个示例文件夹,像SimpleExamples,ManualExamples,InstLibExamples。

在这里介绍下Pin的使用方法

1 首先去Pin官网,根据系统版本选择相应的Pin压缩包
2 解压缩
tar -zxvf pin-xxx.tar
3 以ManualExamples为例,进入该目录下,直接make。
cd pin-xxx/source/tools/ManualExamples&make
4 若为64位系统,则会在该目录下的obj-intel64目录下生成多个so文件。32位系统则为obj-ia32
5 以ls为测试对象
../../../pin -t obj-intel64/xxx.so -- /bin/ls>xxx.out

Pin的拓展

Pin的拓展工具在github有很多,例如JonathanSalwan这位大牛整合的Pin的工具,并且还提供了相关的文档文档,十分的方便。
另外,需要注意的是,我在进行实验时发现,因为有部分Pin的插件,是需要64位系统要求,同时也有出现过系统版本太新的兼容性问题。


0 0
原创粉丝点击