美文网首页
《第3期-10 对对碰外挂》学习笔记

《第3期-10 对对碰外挂》学习笔记

作者: 听说我在混吃等死 | 来源:发表于2018-11-12 21:39 被阅读0次

一、破解过程
1、输入假码,得到提示:


2、载入OD中,查找字符串“注册码”,从结果中找到和提示中一样的“您输入的注册码不正确”


3、输入假码,继续运行程序,发现已经是注册版了


保存修改后运行,却出现了问题


对于这个问题的分析,在下面再详细说。
4、既然只是nop掉一个关键跳不行,那么就在找别的地方是否还得修改。
在关键跳上面,找到了关键call

0042E5CA   .  E8 91EBFFFF   call    0042D160

就是这个call算出真码的。所以进入这个call看看去:
我们很容易发现有两个地方调用了这个call:其中一个就是上面找到的关键跳附近的0042E5CA,另一个是什么呢?


5、来到了428A0E处


又找到了一个关键跳,再次nop掉。
把所有修改保存出来,运行程序,发现就是注册版了,也不会像第3步中出错了。


二、对于第3步中出错的分析
1、把第3步中保存处理的程序载入OD中,发现一旦运行就会报错。


根据以前的经验,我就从开始就F8单步,可是刚运行了两句就报错了。


既然是运行到

004017A5   .  E8 EEFFFFFF   call    <jmp.&MSVBVM60.#100>

报错的,那我就F7步入,看看到底是哪里导致的报错。结果就来到了系统空间


推测:系统空间肯定是不能够单步跟踪的,因为代码量太大,而且系统代码不应该是引发报错的地方。如果是系统空间代码出现的问题,运行原来的程序也会报错的。
实际:此时,运行原来的程序,也是会报错的。
但是仍然认为是程序的问题,而不是系统代码的问题。
2、在系统空间中,使用”Alt+F9“,想从系统空间跳回到用户代码。结果却是照样报错。



3、至此,我已经不知道再如何分析了。

相关文章

网友评论

      本文标题:《第3期-10 对对碰外挂》学习笔记

      本文链接:https://www.haomeiwen.com/subject/ighfxqtx.html