Intel插桩框架PIN的尝试与研究

2018/10/24 C++

第一篇认真写的博客2333


Intel插桩框架PIN的尝试与研究

之前一直做的项目需要使用一种方法去获取C++程序的函数返回值,本来想借用java的实现思路,尝试使用反射的方法去调用函数获取返回值。但是众所周知,C++无法直接提供反射,即便是借用ponder或者RTTL这样的库也需要被反射的程序引用这些库,与我们任意程序采集数据的目标不符合。后来在网上发现了INTEL PIN这个软件,中文资料较少。所以自己花几个研究了一下。

**安装
直接去PIN的官网上下载对应版本与系统的安装包,在3.4版本之后,官方提供了很多例子,基本涵盖了各个模块的基本用法

**基本概念
首先要知道的是PIN的工作流程,大致上是写一个pintool作为我们的“探测针”,之后pin会把我们写好的探测针插入到程序代码之中,我们可以比较方便的将这个探针插入到我们需要的任何位置,这个探针的主要功能包括分析操作寄存器、内存,以及各种其他功能。(具体的功能范围笔者也不是特别明确,还需要进一步研究,感兴趣的同学可以去查阅官网的api文档)

Search

    Table of Contents

    本站总访问量