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

一、破解过程
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、至此,我已经不知道再如何分析了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,473评论 25 709
  • 乘着假期,又读了一遍周晓枫的《宿命:孤独张艺谋》,重温一个作家的侠义与担当。 此作动笔之前,周晓枫已经深知吉凶未卜...
    三秋树5266阅读 4,028评论 0 1
  • 日初而起,日落未至。 路途遥遥,万事多磨。 一字之差,差之千里。 幸得万幸,侥登末班。 但愿戍时,人定心定。 不枉...
    凉王_4801阅读 1,256评论 0 0
  • 大约一个月前,小区门外路口拐角的便民市场新开了一家“泰式麻辣拌”。 从此我们这一片热闹起来了,你听,那个火爆的单曲...
    素馨若霞阅读 3,038评论 0 7
  • 某个晚上听舍友在宿舍聊天,说起他们不堪回首的高三,别的学校有几个学生自杀了。有些学校甚至每年都会死人。我也想起在第...
    嗯_5d65阅读 1,598评论 0 0

友情链接更多精彩内容