博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制程序分析工具Pin在Windows系统中的安装和使用方法
阅读量:7157 次
发布时间:2019-06-29

本文共 1233 字,大约阅读时间需要 4 分钟。

这篇日志其实很弱智,也是因为换了新电脑,实验环境不全(当然,做这个实验我是在虚拟机里,因为接下来想拿些恶意代码的数据),所以这里记录一下在Windows下怎么安装和使用Pin这个程序分析领域最常用的工具之一,首先搬出论文来拜拜:

Luk, C., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J. and Hazelwood, K., Pin: building customized program analysis tools with dynamic instrumentation. in Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, (Chicago, IL, USA, 2005), ACM, 190-200.

Pin的主页是: ,直接下载其最新的vc10即可。按照其,就可以进行编译和安装,这里有个需要特别注意的地方。之前的Pin版本中,支持通过Microsoft Visual Studio 2010的命令行运行nmake之类的批处理命令,从Pin 2.12版本开始,需要基于cygwin make来进行编译。比较坑爹的是,安装的时候,默认不安装make工具。需要在下面这一步的时候,使All后面的字变为install,可以保证所有组件默认安装(当然需要的时间也稍长一些)。

 

当然,这是一种偷懒的方法,会下载很多不需要的安装包,所以最好保证硬盘空间足够。安装好Cygwin之后,将其安装目录下的bin目录,如“D:\cygwin\bin”加入到环境变量path中(最好加在其他所有变量之前,这样保证可以先用Cygwin进行解析),之后就可以直接在cmd中使用Cygwin的命令。例如:tar, ls, grep等;

设置好之后再打开Visual Studio 2010适合操作系统版本的命令行打开,例如我这里使用“Visual Studio 命令提示(2010)”,定位到“%Pin安装目录%\source\tools\ManualExamples” (所有的入门教程都教大家从Manual中的例子开始学习),然后运行make,就可以将该目录下的所有cpp文件进行编译了。

编译完成之后,还是在这个目录下,如果之前已经将Pin解压后的文件夹的位置(pin.exe上面一层文件夹)加入到path中,那么在命令行中运行:

pin -t obj-ia32\inscount0.dll -- calc

过一会就可以弹出被插桩后的计算器程序,关闭之后就会在当前目录下生成inscount文件,记录了计算器程序一共执行的指令个数。这就是Pin的最简单的安装和使用方法,希望能对初学的朋友有点指导作用。

你可能感兴趣的文章
CentOS7安装软件报错:Cannot allocate memory
查看>>
HttpClient上传文件到微信素材乱码问题解决
查看>>
主动模式和被动模式
查看>>
分类、回归
查看>>
Dubbo源码阅读笔记(一)
查看>>
List跟踪源码个人记录
查看>>
企业级 SpringCloud 教程 (七)高可用的分布式配置中心(Spring Cloud Config)
查看>>
区块链最全书单|深聊了50个微信群,学习区块链必读这20本书
查看>>
20个热门在线少儿编程网站【2019】
查看>>
Netty 即时通信 后端 (五)
查看>>
没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)
查看>>
打造极致性能数据库中间件丨LVS+Keepalive+华为云DDM之理论篇
查看>>
分布式微服务云架构开发Web应用
查看>>
架构的代码结构
查看>>
MaxCompute推出面向开发者的专属版本,普惠大数据开发者
查看>>
MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
查看>>
JavaScript数据类型检测总结
查看>>
带你深入探解Java的分级引用模型
查看>>
@Autowired的使用:推荐对构造函数进行注释
查看>>
Navicat使用教程:获取MySQL中的行数(第1部分)
查看>>