14. OD-inline patch入门,将一段代码和变量分别注入一个程序中

版权声明:墨痕诉清风 https://blog.csdn.net/u012206617/article/details/88090413

分析程序情况

第一次进入call为neg

第二次进入call为主程序

第三次退出程序进入call为neg

这个跳转如果改为jmp,那么主程序也没有了

那么我们可以试想写一段C程序做判断

int i = 0;
for (i=0; i<3; ++i)
{
    if (i == 2)
       不跳转
    else
       跳转
}

寻找PE头,双击数据

寻找空间

00445E80

下断点,运行程序测试是否有被占用

没有问题,我们寻找的位置是安全的,程序未使用

找到代码段未使用的指令

选择NonaWrite插件

点击Assemble,自动修改填充我们写的代码

修改,跳转到我们的代码(注意下面就是显示对话框CDialog)

破解成功

总结:

1. 在PE头数据段找到一处程序未使用的数据,做我们的变量i(记住地址)

2. 在代码界面寻找一处程序未使用的数据,写程序 (记住地址)

3. 学会使用NoneWrite填充我们的汇编代码

4. 最后修改源跳转对话框的地方跳转到我们写的代码处(注意指令是否被覆盖)

5. 保存两处修改的代码

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/88090413
今日推荐