pin是一个基于对二进制文件的插桩工作,捕捉二进制文件运行时的各种信息的二进制分析工具。
下面先介绍下安装:
1. 首先进入它的官网:http://www.pintool.org/,你可以在这里详细了解到pin的各种信息,如
点击Download 由于本工具需要对应的VS来进行使用,所以我在这里以最新的VS2010简介,使用的操作系统是Windows,当然,后面也会介绍在Linux下的安装与使用。
下载好好安装在自己的磁盘中,我的是在E:\lab\pin\pin-2.11-49306-msvc10-ia32_intel64-windows中
2.环境的基本配置
首先由于需要使用VS2010的命令提示符窗口,这个是在
接着打开VS 命令提示(2010),但是这个需要在系统的环境变量中配置下环境,
对XP很简单,在“我的电脑”上,右键找到“属性”,弹出“系统属性对话框”,然后切换到“高级”属性页,进到“环境变量”里面;
对Win7,稍有不同:在桌面上“计算机”右键找到“属性”,然后在弹出的页面的左侧找到“远程设置”, 这时弹出“系统属性对话框”,然后切换到“高级”属性页,进到“环境变量”里面。
(1)创建三个系统变量
<1>名字 VS100Common
值 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7
<2>名字 VS100VC
值 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
<3>名字 VS100SDK
值 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A
******注意: 这个文件夹对应的应该是你所在VS安装目录文件下的绝对路径,根据你自己的实际情况进行修改
(2)创建(或追加)三个用户变量
<1>名字PATH
值 %VS100VC%\BIN;%VS100Common%\IDE;%VS100Common%\TOOLS;%VS100SDK%\BIN;%PATH%
<2>名字INCLUDE
值 %VS100VC%\INCLUDE;%VS100VC%\ATLMFC\INCLUDE;%VS100SDK%\INCLUDE;%INCLUDE%
<3>名字LIB
值 %VS100VC%\LIB;%VS100VC%\ATLMFC\LIB;%VS100SDK%\LIB;%LIB%
(3)将pin的根目录加在PATH变量后面,记得在原来的变量后面加‘;’再进行添加,千万别覆盖了
也就是现在的PATH值为:%VS100VC%\BIN;%VS100Common%\IDE;%VS100Common%\TOOLS;%VS100SDK%\BIN;%PATH%;E:\lab\pin\pin-2.11-49306-msvc10-ia32_intel64-windows
3.pin自身的配置设置
这个时候就可以打开VS命令提示符进入Pin的主目录了:
这里面的my_tools,test文件夹是我自己创建的,其他的应该都一样。先进入source\tools
cd source\tools
dir
会看到下面文件:
这个文件夹里面基本就是所有的pin工具了,不过很多都是没有编译的cpp文件
下面运行
.\nmake.bat
会自动配置环境
如果出现nmake不是内部命令的报错信息的时候这就说明前面的环境配置出现了问题,要重新检查一下。
最后通过一些命令来进行检测一下:
自己先写一个hello world的.exe小程序
在根目录下输入以下命令:
pin -t source\tools\ManualExamples\inscount0.dll -- hello
这样若生成了一个inscount0的文件,我都是使用UE打开这些文件的,你会看到
这样就表示安装成功了!
这样基本的pin的安装就已经完成了!