动态二进制修改软件pin的学习使用(毕设笔记1)
pin的下载地址:
https://software.intel.com/content/www/us/en/develop/articles/pin-a-binary-instrumentation-tool-downloads.html
由于一些原因,打算先尝试着使用linux虚拟机进行pin的学习,在Ubuntu 20.04环境下使用pin。
首先在中科大源下获取Ubuntu20.04 iso文件
http://mirrors.ustc.edu.cn/ubuntu-releases/20.04/
使用virtual box进行虚拟机的安装,需要安装g++和make。
把pin下载解压后,在source/tools/ManualExamples文件夹下已经有了一些写好的Pintool,可以直接通过make进行编译使用,其中,要指定编译的对象和机器架构类型。例如,对目录下所有工具进行编译,所用机器指令架构为intel64:
$ cd source/tools/ManualExamples
$ make all TARGET=intel64
也可以指定某个工具进行编译:
$ cd source/tools/ManualExamples
$ make inscount0.test TARGET=intel64
之后就可以执行命令:
#在ManualExamples文件夹下:
$../../../pin -t obj-intel64/xxxx.so -- target command