檔案加密工具fedt2.40(7月22日修改後)破解過程 (4千字)

看雪資料發表於2001-07-24

檔案加密工具fedt2.40(7月22日修改後)破解過程!
URL http://www.soft999.com/download1/fedtw240_b0722.exe
    又是很久沒有寫破解過程了,一,是因為家裡有事,二,是沒有什麼值得寫的。
最近才閒了下了,應朋友要求,趕快寫個過程!
    這個共享軟體很是有趣,他的註冊方式很是特別,如果你輸入的註冊碼不對的話,註冊的按鈕是不會亮的,也就仍然是灰的。它屬於輸入註冊碼就即時比較的那種,所以才記錄下我的破解過程,供大家參考!
    這個軟體有殼,但是不難脫。這裡我就不詳細介紹了,關鍵還是在如何追出註冊碼。
    執行這個軟體,找到註冊的地方,首先生成ID,也就是機器碼。然後來到註冊處,先輸入你的名字,我輸入zzglf,然後執行trw2000,下斷bpx hmemcpy。然後在註冊碼輸入的地方輸入一個字元,我輸入f。程式馬上trw中斷了,回到了trw中。注意!現在不要清楚斷點,也就是不要bd*或bc*,後面還要用到。按一下F5,程式再次被斷,這時用trw的命令pmodule,回到程式的領空,接著按F10來到這裡:
:004131BB 8D45FC                  lea eax, dword ptr [ebp-04]  **停在這兒
:004131BE E819F6FEFF              call 004027DC                **F10代過
:004131C3 83F804                  cmp eax, 00000004            **EAX中是名字的長度
:004131C6 0F8CE7000000            jl 004132B3                  **一定要大於4
再按F5,程式又會被中斷下來,命令:pmodule來到程式的領空:
按幾下F10來到:
:004131E7 8D45F8                  lea eax, dword ptr [ebp-08]  **停在這兒
:004131EA E8EDF5FEFF              call 004027DC                **F10代過
:004131EF 83F808                  cmp eax, 00000008            **EAX中是你輸入的字元的長度。
:004131F2 0F94C2                  sete dl
:004131F5 83E201                  and edx, 00000001
:004131F8 52                      push edx
:004131F9 FF4DE4                  dec [ebp-1C]
好了,bc*清除斷點。然後下bpx 4131EF,按F5回到程式中。繼續輸入字元吧,你沒有輸入字元的時候都會被中斷下來,你要再按F5回到程式中繼續輸入註冊碼!你也要注意EAX裡面的變化哦!等到EAX=8時就不要再按F5了。這時就要分析程式了,一直按F10來到:
:00413247 5A                      pop edx      **D EDX看到你的名字。
:00413248 E857AFFFFF              call 0040E1A4
:0041324D 8D4DEC                  lea ecx, dword ptr [ebp-14]
:00413250 51                      push ecx
:00413251 8D45F4                  lea eax, dword ptr [ebp-0C]
:00413254 E833F5FEFF              call 0040278C
:00413259 8BD0                    mov edx, eax
:0041325B FF45E4                  inc [ebp-1C]
:0041325E 8B4DC4                  mov ecx, dword ptr [ebp-3C]
:00413261 8B81EC020000            mov eax, dword ptr [ecx+000002EC]
:00413267 E8648D0300              call 0044BFD0
:0041326C 8D45F4                  lea eax, dword ptr [ebp-0C]
:0041326F 5A                      pop edx      **D EDX看到你的假的註冊碼
:00413270 E873770600              call 0047A9E8 **這個Call一定要進。
:00413275 84C0                    test al, al
:00413277 0F95C1                  setne cl
:0041327A 83E101                  and ecx, 00000001
:0041327D 51                      push ecx
:0041327E FF4DE4                  dec [ebp-1C]



* Referenced by a CALL at Addresses:
|:0040E6A4  , :00412FE1  , :00413270  , :004133DC  , :00415515 
|
:0047A9E8 55                      push ebp
:0047A9E9 8BEC                    mov ebp, esp
:0047A9EB 53                      push ebx
:0047A9EC 8B00                    mov eax, dword ptr [eax]  **假
:0047A9EE 8B12                    mov edx, dword ptr [edx]  **真
:0047A9F0 E8AFF6FEFF              call 0046A0A4            **進去就是比較了。
:0047A9F5 0F94C0                  sete al
:0047A9F8 83E001                  and eax, 00000001
:0047A9FB 5B                      pop ebx
:0047A9FC 5D                      pop ebp
:0047A9FD C3                      ret

:0046A0A4 53                      push ebx
:0046A0A5 56                      push esi
:0046A0A6 57                      push edi
:0046A0A7 89C6                    mov esi, eax
:0046A0A9 89D7                    mov edi, edx
:0046A0AB 39D0                    cmp eax, edx    **比較咯!
:0046A0AD 0F848F000000            je 0046A142    **注意,爆破不能改這兒!
:0046A0B3 85F6                    test esi, esi
:0046A0B5 7468                    je 0046A11F
:0046A0B7 85FF                    test edi, edi
:0046A0B9 746B                    je 0046A126
:0046A0BB 8B46FC                  mov eax, dword ptr [esi-04]
:0046A0BE 8B57FC                  mov edx, dword ptr [edi-04]
:0046A0C1 29D0                    sub eax, edx
:0046A0C3 7702                    ja 0046A0C7
:0046A0C5 01C2                    add edx, eax


爆破修改就改開始的地方吧!
:00413277 0F95C1                  setne cl
:0041327A 83E101                  and ecx, 00000001
改為:
:00413277 XXXXXXX                  mov al,01
:004132XX 90                      nop
:0041327A 83E101                  and ecx, 00000001


ok!搞定!我記得有一個crackme也是這種的保護模式!大家可以試試!



                                              小球[CCG]
                                2001-7-25

相關文章