sit
shadothew
无无无无无无
展开
-
示例程序中遇到的问题
在进行Procedure Instruction Count (Routine Instrumentation)的示例程序的试运行中,我在输入指令后输出了如图的结果,head输出文件后,输出的格式和示例相同。 然后我把Makefile后面的都删掉,还是有错误,同时输出结果不一样。 对Makefile的理解https://www.cnblogs.com/wang_yb/p/3990952.h...原创 2018-08-10 17:27:36 · 144 阅读 · 0 评论 -
pin工具简介(user guide 翻译)
简介 pin是用来为程序插桩Instrumentation( 插桩)的工具;适用于windows\Linux\osx操作系统,可在IA32和INTEL®64和多种集成INTEL® 芯片芯片上执行。 pin允许一个工具在可执行文件的任意位置植入任意代码(C/C++)。当可执行文件执行时,代码是动态地添加的。这使得可在正运行的程序中连接pin。 Pin提供了丰富的API(应用程序编程接口),可以...原创 2018-08-07 15:22:59 · 3477 阅读 · 0 评论 -
pintool的搭建和使用示例
//全文以ia32为例,intel64需要将涉及到ia32的地方替换成intel86 构建pintool 首先把pintool(C或者C++)写好。然后参照如下格式:(1)将某个目录下的所有tool都构建起来$ cd source/tools/ManualExamples//这是tool的目录$ make all TARGET=ia32(2) 将某个目录下的某一个tool构...原创 2018-08-07 16:11:25 · 4121 阅读 · 3 评论 -
pin示例程序详解
计数程序inscount0#include <iostream>#include <fstream>#include "pin.H"ofstream OutFile;// 计数执行的指令// static不在栈中,可以方便计数static UINT64 icount = 0;// 当每个指令执行前被执行,来技术指令的个数VOID docount...原创 2018-08-08 20:23:49 · 1653 阅读 · 0 评论 -
使用pintools画出控制流图——收集跳转指令的ip和目的地
代码如下:#include<iostream>#include<fstream>#include<stdlib.h>#include"pin.H"using namespace std;ofstream OutFile;//指定输出文件KNOB<string> KnobOutputFile(KNOB_MODE_WRITEONCE...原创 2018-08-18 20:15:38 · 854 阅读 · 0 评论 -
使用pintools画出控制流图(二)——输出操作码
我现在的想法是,输出指令的操作码,便于与objdump调试得到的汇编语言进行对照。代码如下#include<iostream>#include<fstream>#include<stdlib.h>#include"pin.H"using namespace std;ofstream OutFile;INS ins;//指定输出文件KN...原创 2018-08-18 21:56:25 · 1246 阅读 · 5 评论 -
使用PIN和OD结合进行指令的修改
前言在经过一次又一次的失败之后,终于接受了pin不能实现取完整指令,更改,再放回去的实验要求。在同学的提一下,我开始了对OlleyDBG的摸索。目前的思路就是,用pin得到CFG,也就是每条分支指令的地址及其目的地址的地址,然后使用OD来进行指令的修改。由于OD是动态的,可以一边修改一边运行,还是很符合我们的要求的嘻嘻。1. 首先是pinpin在目前的实验思路中的作用是得出控制流图。由...原创 2018-10-14 16:19:42 · 624 阅读 · 1 评论