• 标 题:天网2.43过期提示框的驱除 (6千字)
  • 作 者:crack007
  • 时 间:2001-8-15 16:54:29
  • 链 接:http://bbs.pediy.com

天网2.43过期提示框的驱除

作者:Crack007[BCG]
主页:http://www.crack007.com ( ^-^ )
破解日期:2001-8-15
破解工具:TRW2000 1.23  W32dasm  DeDe2.5汉化版


从今天上午开始我的天网开始出现过期提示。按确定后使用完全正常。但老是这样很烦人,于是我就想把它给干掉。

这个软件用Wasam查不出任何有用的东西。用fi查出该软件是用Delphi编写的,于是调起DeDe这个专门对付Delphi软件的天兵天将。几里呱啦打开处理之后在窗体部分搜到三个可疑选项:TfrmRegister、TfrmMessage、TfrmMessageDlg,其他窗体的作用可根据其英语含义基本排除。在TfrmRegister窗体中我们可看到“单击这里免费获取注册号”、“确定”、“取消”等字样,很明显只是我们第一次装天网防火墙要求我们注册的部分。我们可以在 00412525处将7449改为9090即可爆破成功。由于以前有人讲过怎样追出它的注册码,所以就不再在此赘述。于是排除TfrmRegister窗体。

让我们再看TfrmMessageDlg窗体。我们可以看到“天网防火墙提示信息”这个提示软件过期的标题,但我们再向上看,发现它有“确定”、“取消”两个按钮,跟软件提示过期窗口只有一个确定按钮不大相同。于是我们再看TfrmMessage窗体,发现它只有“天网防火墙提示信息”标题和“确定”这个按钮,而没有“取消”这个按钮,到此我们可以基本确定,这就是过期提示窗,软件提示过期的猫腻就在这个TfrmMessage窗体中。

让我们单击DeDe的“程序”选项可以看到有三个事件:FormCreate、FormDestory和btbYesClick。由于其英文含义很明白,所以我们就将重点放到了这个FormCreate上。DeDe显示它的偏移量为00412c04,所以我们就调出Trw2000,下bpx 412c04。重新运行天网防火墙程序,结果被拦截在412c04这个地方。

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00412BB7(C)                          <------------在这可知,是由412BB7跳转而来。于是让我们到412BB7处               
|
:00412BBE 894DD0                  mov dword ptr [ebp-30], ecx
:00412BC1 8855D7                  mov byte ptr [ebp-29], dl
:00412BC4 8945FC                  mov dword ptr [ebp-04], eax
:00412BC7 B8A4C55100              mov eax, 0051C5A4
:00412BCC E8DF190E00              call 004F45B0
:00412BD1 66C745E80800            mov [ebp-18], 0008
:00412BD7 8B4DD0                  mov ecx, dword ptr [ebp-30]
:00412BDA 33D2                    xor edx, edx
:00412BDC 8B45FC                  mov eax, dword ptr [ebp-04]
:00412BDF E8DCF0FEFF              call 00401CC0
:00412BE4 8345F40F                add dword ptr [ebp-0C], 0000000F
:00412BE8 8B55D8                  mov edx, dword ptr [ebp-28]
:00412BEB 64891500000000          mov dword ptr fs:[00000000], edx
:00412BF2 8B45FC                  mov eax, dword ptr [ebp-04]
:00412BF5 807DD700                cmp byte ptr [ebp-29], 00
:00412BF9 7405                    je 00412C00
:00412BFB E805FD0F00              call 00512905

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00412BF9(C)
|
:00412C00 8BE5                    mov esp, ebp
:00412C02 5D                      pop ebp
:00412C03 C3                      ret


:00412C04 55                      push ebp              <------在此被拦截,让我们向上看,看看是怎么来到这个地方的。
:00412C05 8BEC                    mov ebp, esp
:00412C07 83C4D0                  add esp, FFFFFFD0
:00412C0A 8955D0                  mov dword ptr [ebp-30], edx
:00412C0D 8945D4                  mov dword ptr [ebp-2C], eax
:00412C10 B8C8C55100              mov eax, 0051C5C8
:00412C15 E896190E00              call 004F45B0
:00412C1A 6A30                    push 00000030
:00412C1C E853090E00              call 004F3574
:00412C21 59                      pop ecx
:00412C22 8945FC                  mov dword ptr [ebp-04], eax
:00412C25 85C0                    test eax, eax
:00412C27 741C                    je 00412C45
:00412C29 66C745E81400            mov [ebp-18], 0014
:00412C2F 8B55D4                  mov edx, dword ptr [ebp-2C]
:00412C32 8B45FC                  mov eax, dword ptr [ebp-04]
:00412C35 E89AC4FFFF              call 0040F0D4
:00412C3A 66C745E80800            mov [ebp-18], 0008
:00412C40 8B55FC                  mov edx, dword ptr [ebp-04]
:00412C43 EB03                    jmp 00412C48

-----------------------------------------------------
* Referenced by a CALL at Address:
|:00403071                          <-----哦,原来就从这里来的。让我们再看。
|
:00412BAC 55                      push ebp
:00412BAD 8BEC                    mov ebp, esp
:00412BAF 83C4D0                  add esp, FFFFFFD0
:00412BB2 8855F8                  mov byte ptr [ebp-08], dl
:00412BB5 84D2                    test dl, dl
:00412BB7 7E05                    jle 00412BBE                <-----在此跳到上面的地方
:00412BB9 E83AFD0F00              call 005128F8

---------------------------------------------------
:0040306C A1F0C55100              mov eax, dword ptr [0051C5F0]
:00403071 E836FB0000              call 00412BAC                    <-----弄了半天是这个Call。让我们继续执行程序。
:00403076 8945C0                  mov dword ptr [ebp-40], eax
:00403079 66C745DC1400            mov [ebp-24], 0014
:0040307F 66C745DC2000            mov [ebp-24], 0020
:00403085 8D55FC                  lea edx, dword ptr [ebp-04]
:00403088 8D45F8                  lea eax, dword ptr [ebp-08]
:0040308B E84CED1000              call 00511DDC
:00403090 FF45E8                  inc [ebp-18]
:00403093 8B10                    mov edx, dword ptr [eax]
:00403095 8B4DC0                  mov ecx, dword ptr [ebp-40]
:00403098 8B81DC020000            mov eax, dword ptr [ecx+000002DC]
:0040309E E855170B00              call 004B47F8
:004030A3 FF4DE8                  dec [ebp-18]
:004030A6 8D45F8                  lea eax, dword ptr [ebp-08]
:004030A9 BA02000000              mov edx, 00000002
:004030AE E851EE1000              call 00511F04
:004030B3 8B45C0                  mov eax, dword ptr [ebp-40]
:004030B6 8B10                    mov edx, dword ptr [eax]
:004030B8 FF92D8000000            call dword ptr [edx+000000D8]    <-----来到这里,提示框弹出。
:004030BE 66C745DC0800            mov [ebp-24], 0008
:004030C4 8B4DC0                  mov ecx, dword ptr [ebp-40]
:004030C7 894DF0                  mov dword ptr [ebp-10], ecx

-----------------------------------------------


既然004030B8处的Call是过期提示框,我们就把它给Nop掉。改FF92D8000000为909090909090即可。

修改后,运行程序,无提示框弹出,运行正常,爆破成功!

破解补丁我已做好,在我的主页http://www.crack007.com(即将开通)  http://crack007.longcity.net(已经开通)可以下载


The End