|

双击注册成功后我们来到如下地方:
CODE:
:00402E1F E8F6020000 call 0040311A
:00402E24 50 push eax
:00402E25 E886030000 call 004031B0
:00402E2A 83C408 add esp, 00000008
:00402E2D 85C0 test eax, eax //比较注册码
:00402E2F 7416 je 00402E47
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402DB8(U)
|
:00402E31 6A40 push 00000040
* Possible StringData Ref from Data Obj ->"失败" //提示注册失败
|
:00402E33 6880444000 push 00404480
* Possible StringData Ref from Data Obj ->"注册失败"
|
:00402E38 6874444000 push 00404474
:00402E3D 8B4DF0 mov ecx, dword ptr [ebp-10]
:00402E40 E8E1020000 call 00403126
:00402E45 EB14 jmp 00402E5B
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402E2F(C) //很明显注册成功的提示是从00402E2F地址跳过来的
|
:00402E47 6A40 push 00000040
* Possible StringData Ref from Data Obj ->"恭喜!" //提示注册成功
|
:00402E49 686C444000 push 0040446C
* Possible StringData Ref from Data Obj ->"注册成功"
|
:00402E4E 6860444000 push 00404460
:00402E53 8B4DF0 mov ecx, dword ptr [ebp-10]
:00402E56 E8CB020000 call 00403126
到这里就不要我说了吧,还不快使用UltraEdit将00402E2F的74改成75。在这次脱壳中我们都是使用的工具,简单、方便、快捷。可是有很多壳是没有现成的脱壳工具的,所以需要手工来脱壳,下面我们就来学习一下手工脱壳。
手工脱壳基本步骤:
1. 寻找OEP
2. DUMP文件
3. 修复输入表
我们用PeiD查到我们现在要脱的壳是铁甲。
网络上还没出现铁甲这个壳的脱壳机,所以我们只有手工来搞了,拿出我们菜鸟喜欢用的OllyDbg加载程序,忽略所有的异常。程序停留在0040A000处。

现在我们就按F8来调试,当程序运行到0040A04F的时候0040A058处就会改变成pushfd,我们直接单击此处,按F4 ,这个时候程序已经进行了第一次代码解密,我们继续用F8来向下走,一直来到第二个循环0040A0B1处。

这里是软件的第二次代码解密的地方,我们和上面一样,单击popad处按下F4,让程序直接解密,这个时候程序已经解密好了,现在我们就是要找OEP了,我们按下CTRL+F,调出查找命令对话框,将整个段块前面的钩去掉,输入popad来查找。经过6次的查找我们来到了如下地方

单击retn处,直接按F4来到这里,这个时候会弹出一个说JDPack没注册的对话框,不管它,直接点确定就可以了,再按一下F8,来到004031c0处。哈哈~~我们已经很接近成功了。现在程序在内存中已经完全解密好了。

现在我们就使用Ollydbg的DUMP插件来将软件DUMP出来。
| 手把手教你破解灰鸽子成为会员!! | 10-05 |
| 手把手教你手脱灰鸽子2007 Beta | 08-14 |
| 零基础制作《武林外传》外挂 (VB | 07-11 |
| 壳,加壳,脱壳,介绍壳的一些基本 | 07-07 |
| 给新手引路-浓缩汇编基础 | 06-29 |
| 妙解破解的原理 | 05-10 |
| 教菜鸟写注册机 | 04-16 |
| 软件破解新手进化篇 | 04-16 |
| [软件破解]破解原理 | 04-14 |
| [软件破解]常见保护的攻击:序列号 | 04-14 |
| 用OllyDbg手脱RLPack V1.17加壳的 | 04-04 |
| PELock v1.0x 脱壳之完美风暴 | 03-28 |