使用PIN和OD结合进行指令的修改

本文介绍了如何利用PIN获取控制流图(CFG),并结合OllyDBG动态修改指令。在实验中,PIN用于分析得到分支指令的地址,而OD则用于动态修改指令。作者展示了从C++代码编译到在Windows与Linux下使用PIN和OD分析的过程,并探讨了地址不一致的原因及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言
在经过一次又一次的失败之后,终于接受了pin不能实现取完整指令,更改,再放回去的实验要求。
在这里插入图片描述
在同学的提一下,我开始了对OlleyDBG的摸索。目前的思路就是,用pin得到CFG,也就是每条分支指令的地址及其目的地址的地址,然后使用OD来进行指令的修改。由于OD是动态的,可以一边修改一边运行,还是很符合我们的要求的嘻嘻。
在这里插入图片描述

1. 首先是pin
pin在目前的实验思路中的作用是得出控制流图。由于前面已经写好程序了,在这里只需要输入一些指令来进行操作即可。
下面列出使用的两条指令

make obj-ia32/CFG-collect.so TARGET=ia32     //工具代码的编译
./pin -t source/tools/ManualExamples/obj-ia32/CFG-collect.so -- ./test.out   //代码的使用

2. 接下来是OD的使用
首先是OD的基本使用

OD的基本使用指令可见https://www.cnblogs.com/yunji5566/p/4249927.html
下面是截取的使用快捷键的表格

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值