【学习记录】关于Pin Tools的学习记录

1、今天学习了Pin Tools。主要是了解了/source/tools/ManualExamples中的一些cpp的实际功用。

 

imageload 跟踪程序上传和下载image
inscount0 记录程序运行指令总数
intrace 显示每个指令执行的内存地址
malloctrace 记录函数参数传递到函数的值或返回的值
pinatrace 检测指令读取和写入的内存地址
proccount 记录程序被调用的次数

 

在使用Pin Tools时,首先用Visual Studio编译/source/tools/ManualExamples下的所有cpp,编译为dll后,在cmd命令行下就可以使用pin的命令了。

例如:

X:\>pin -t /source/tools/ManualExamples/obj-ia32/inscount0.dll -- cmd xxx.exe

就可以记录xxx.exe中程序运行指令的总数。

 2、学习了PLT和GOT表的内容。

动态解析过程的大致内容。

  .PLT0:
     Push1 got_plus_4
     jmp *got_plus_8
  .PLT1:
     jmp *name1_in_GOT
      Push1 $offset
     jmp .PLT0@PC
  .PLT2: 
     jmp *name2_in_GOT
      Push1 $offset
     jmp .PLT0@PC

3、学会使用反汇编工具,OllyDbg,在进行反汇编的时候,可以直接加入exe文件进行反汇编。

4、使用Pin进行缓冲区溢出检测的流程图

 

5、疑问:在拿到一个程序时,如何可以查看到PLT表项和GOT表项的具体内容。

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值