- UID
 - 36360
 
 注册时间2007-11-2
阅读权限10
最后登录1970-1-1
周游历练 
  
 
 
 
该用户从未签到  
 | 
 
破解过程 : 
 
首先用PEID查一下,发现有壳,是ASPPACK 2.12版本的。 
 
用WASPACK 2.12脱一下壳,好了,壳没有了。Borland Delphi 4.0 - 5.0 
 
这样脱壳是比较简单的,因为知道是什么壳。 
 
如果不知道的话,我们还可以用OD来脱壳。 
 
用OD打开程序,发现在ESP和EIP都是红色的,这让我们接着想到 
了ESP定律,不妨用一下看看。 
 
在命令行里:dd 0012ffc4,回车,然后在数字下点右键--- 
断点----硬件访问----字。 
 
然后按F9执行到断点,看是不是找到OEP了。然后我们在这儿脱 
壳,用OD脱壳。然后另存。试一下打开,报错误。没有关系,我 
们修复一下。用ImportREC修复,完成后,再用PEID查下,看没 
有壳了吧!Borland Delphi 4.0 - 5.0 
 
下面我们注册一下看看。 
 
 
注册信息是: 
 
用户机器码:ACE2-C1F0 
 
用户注册码:zxqhang 
 
用我的常用名吧,呵呵。。。。 
 
提示出错了, 
 
'zxqhang' is not a valid integer value. 
 
所以从这儿看出,我输入的zxqhang 是无效的。 
 
重新输入一下, 
 
数字:123456789 
 
出现:“注册码不正确,无法注册。” 
 
打开W32DASM8.93+ 
 
在串中找到上面的错误信息 
 
双击,从中找到代码行。做个标记。 
 
然后再多次双击,发现只有这一处用到。 
 
 
向上滚动代码行,找到关键JUMP 
 
代码如下: 
 
:00567A9A B8C4CAA7B0              mov eax, B0A7CAC4 
:00567A9F DCA3A1000053            fsub qword ptr [ebx+530000A1] 
:00567AA5 8BD8                    mov ebx, eax 
:00567AA7 8BC3                    mov eax, ebx 
:00567AA9 E812CCFFFF              call 005646C0 
:00567AAE 84C0                    test al, al 
:00567AB0 7409                    je 00567ABB 
:00567AB2 8BC3                    mov eax, ebx 
:00567AB4 E84FC9FFFF              call 00564408 
:00567AB9 5B                      pop ebx 
:00567ABA C3                      ret 
 
 
 
* Referenced by a (U)nconditional or (C)onditional Jump at Address: 
|:00567AB0(C) 
| 
:00567ABB 6A20                    push 00000020 
 
* Possible StringData Ref from Data Obj ->"信息提示" 
                                  | 
:00567ABD B9D87A5600              mov ecx, 00567AD8 
 
* Possible StringData Ref from Data Obj ->"注册码不正确,无法注册" 
                                  | 
:00567AC2 BAE47A5600              mov edx, 00567AE4 
:00567AC7 A1CC715700              mov eax, dword ptr [005771CC] 
:00567ACC 8B00                    mov eax, dword ptr [eax] 
:00567ACE E8B9F1EEFF              call 00456C8C 
:00567AD3 5B                      pop ebx 
:00567AD4 C3                      ret 
 
 
我们来看je 00567abb这个关键跳转。其偏移地址为00167ab0 
 
再用UEDIT32打开文件,找到这个地址 
 
00167ab0: 74 09 8b ..... 
 
我们来爆破一下,74改为75另存。 
 
然后打开软件,随便输入一组数字注册看看,“感谢您使用,注 
 
册成功。” |   
 
 
 
 |