 |
本文相关内容 |
 |
|
|
|
DFCG破解入门第六课
|
| 添加记录:
软件应用
类别:
软件应用
发布日期:
2006.09.20
|
TRW 2000 使用之实例精解
开刀对象: 斗地主 V1.1 因为这个游戏软件的加密非常之简单,适合初学者,所以拿它做教程。 首先运行TRW 2000,然后运行斗地主,点击注册按钮,填入注册信息,如图一所示
(图一)
切换到TRW,(按热键CTRL-N键),下断点: bpx hmemcpy
(图二) 备注:图二中看到的用数字标明部分分别是: 1:寄存器资讯 2:记忆体资讯(16进制) 3:记忆体资讯(ASCII形) 4:程序汇编码 5:TRW 操作命令输入平台区 用红线标明的就是记忆体的位址。 用蓝线标明的就是程序码的位址。
然后按F5键回到程序,按下"马上注册"按钮,马上会被TRW拦到,下BD * 命令,屏掉 所有断点,然后按F12直到程序弹出以下信息框:
(图三)
记下你刚才按F12的次数,到此熟悉了一遍过程。别急,第二遍再来一次,从头做起。 只不过有个环节要做个小小的变动,那就是按F12的次数比第一次要少按一次。这就 是破解程序最基本的招数,名日"二拦"。
二拦后, 程序会在15F:0045F3DD MOV EAX,ESI 停下,单步追踪,对,是按F10键,追到那个有 毛病的CALL,什么是有毛病的CALL?就是你运行完那个CALL,它会弹出图三信息框的 CALL,找到吗?我的在: 15F:0045F444 CALL 00433198 OK,往上面找找哪儿可以躲过这个CALL,找到吗?在这里: 15F:0045F438 CALL 00403C3C 15F:0045F43D JZ 0045F44B =>如果把它改为JMP呢?程序不就注册成功吗?
思路完全正确,但是我想知道真正的注册码,该怎么找呢?当然,你运行到 15F:0045F438 上面停住,然后下D EDX 命令,可以看到注册码,有同学要问在哪儿看 到呢?往下面看吧,见图四:
(图四)
16位的注册码是否感觉看得很清楚呢?自己对照着练一遍吧。破解原来是这么EASY。 这里,简单介绍一下怎么暴力破解,方法是使程序直接跳到注册的CALL,避过失败的 CALL的方法就是跳转下功夫。 15F:0045F43D JZ 0045F44B 改为 JMP 0045F44B 就可以了。 那么要记下它的机械码哦,它的机械码是740C,改为EB0C就可以了。有同学问为什么 这样改呢,因为JMP 的十六进制码会是EB,把中间一段机械码抄下来,记得抄多一些, 因为程序中这样的代码也许会很多,会重复,然后就是开启UEDIT打开主程序,然后找 刚才的机械码,改过来,程序就被你强暴了。
本文只以图形的方式表现TRW的每个躯壳的奥秘,以免新手盲人摸象,只不过对于注册 码的具体算法没有挑明,读者有兴趣可以继续深入,很明显45F438的CALL肯定是比较, 而算码绝对是在上面的哪个CALL。
(出处:http://www.8s8s.net)
|
上一篇:DFCG 破解入门第十四课 下一篇:DFCG破解入门第十三课
|
|
|
 |
电脑常识文选风云榜 |
 |
|