作者:crackYY[CNCG]
工具:FileInfo v2.45 TRW2000 V1.22 procdump v1.62 keymake v1.34
這個東東不註冊只能用30天,每次執行都會提示你去註冊它,功能方面我還不清楚,反正我也不打算用它。下面我就介紹一下它的破解經過。
首先用FI檢測一下是否加了殼,我靠,是用ASPack2001加的殼。用我的Procdump脫殼(這個殼是我後加的,原版沒有)。
,請出TRW大俠上場(鼓掌呀,啊…什麼東西砸我!),再請出今天的主角中華壓縮(不準亂扔瓜果皮殼!)。好,現在它提示你註冊啦!當然是點選註冊按鈕啦(不過我不打算花錢:D),使用者名稱和註冊碼隨便添一個就行,我寫的使用者名稱是:crackYY
註冊碼:78787878 ,然後Ctrl+N撥出TRW,下斷點:bpx hmemcpy,再按F5把控制權交給中華壓縮。接著點選確定按鈕,TRW會彈出,這時看到的是系統的領空,所以下命令:bc
* 清除斷點,再下命令:pmodule 直接跳到程式的領空,這時會看到如下程式碼:
0167:00436D0E CALL `USER32!CallWindowProcA`
0167:00436D13 MOV [EBX+0C],EAX
0167:00436D16 MOV EAX,[EBX]
0167:00436D18 CMP EAX,BYTE +0C
0167:00436D1B JNZ 00436D38
0167:00436D1D MOV EDX,[EBX+08]
0167:00436D20 PUSH EDX
0167:00436D21 MOV ECX,[EBX+04]
0167:00436D24 MOV EDX,EAX
0167:00436D26 MOV EAX,ESI
0167:00436D28 CALL 00432B24
0167:00436D2D JMP SHORT 00436D38
0167:00436D2F MOV EDX,EBX
0167:00436D31 MOV EAX,ESI
0167:00436D33 CALL 004340F4
由於我們下的斷點是:bpx hmemcpy ,所以要繼續向下走,一直找到出錯的地方,然後再後再向回分析,找到正確的註冊碼。按7次F12(超過7次就會出錯),然後再向下分析:
0167:00432F51 POP EBX
0167:00432F52 RET
0167:00432F53 NOP
0167:00432F54 PUSH EBP
0167:00432F55 MOV EBP,ESP
0167:00432F57 PUSH BYTE +00
0167:00432F59 PUSH EBX
0167:00432F5A PUSH ESI
0167:00432F5B MOV ESI,EDX
0167:00432F5D MOV EBX,EAX
0167:00432F5F XOR EAX,EAX
0167:00432F61 PUSH EBP
0167:00432F62 PUSH DWORD 00432FA9
0167:00432F67 PUSH DWORD [FS:EAX]
0167:00432F6A MOV [FS:EAX],ESP
0167:00432F6D LEA EDX,[EBP-04]
0167:00432F70 MOV EAX,EBX
0167:00432F72 CALL 00432F24
0167:00432F77 MOV EAX,[EBP-04]
0167:00432F7A MOV EDX,ESI
0167:00432F7C CALL 0040411C
按F10來到如下程式碼處:
0167:004F4DBF CALL 00432F24
0167:004F4DC4 MOV EAX,[EBP-08]
0167:004F4DC7 PUSH EAX
0167:004F4DC8 LEA EDX,[EBP-10]
0167:004F4DCB MOV EAX,[EBX+02E0]
0167:004F4DD1 CALL 00432F24
0167:004F4DD6 MOV EDX,[EBP-10]
0167:004F4DD9 LEA ECX,[EBP-0C]
0167:004F4DDC MOV EAX,EBX
0167:004F4DDE CALL 004F4FAC
0167:004F4DE3 MOV EDX,[EBP-0C]
0167:004F4DE6 POP EAX
0167:004F4DE7 CALL 0040411C 這裡按F8進入
0167:004F4DEC JNZ 004F4E64 跳過去就完蛋!
0167:004F4DEE MOV DL,01
0167:004F4DF0 MOV EAX,[00452558]
0167:004F4DF5 CALL 00452658
0167:004F4DFA MOV [EBP-04],EAX
0167:004F4DFD XOR EAX,EAX
0167:004F4DFF PUSH EBP
0167:004F4E00 PUSH DWORD 004F4E5D
0167:004F4E05 PUSH DWORD [FS:EAX]
0167:004F4E08 MOV [FS:EAX],ESP
0167:004F4E0B MOV CL,01
0167:004F4E0D MOV EDX,004F4EA8
0167:004F4E12 MOV EAX,[EBP-04]
按F10走到004F4DE7處,用F8跟進,看到如下程式碼:
0167:00404119 LEA EAX,[EAX+00]
0167:0040411C PUSH EBX 這裡可以看到真的註冊碼
0167:0040411D PUSH ESI
0167:0040411E PUSH EDI
0167:0040411F MOV ESI,EAX
0167:00404121 MOV EDI,EDX
0167:00404123 CMP EAX,EDX
0167:00404125 JZ NEAR 004041BA
0167:0040412B TEST ESI,ESI
0167:0040412D JZ 00404197
0167:0040412F TEST EDI,EDI
0167:00404131 JZ 0040419E
0167:00404133 MOV EAX,[ESI-04]
0167:00404136 MOV EDX,[EDI-04]
0167:00404139 SUB EAX,EDX
在0040411c處,下命令:d edx 會看到真正的註冊碼,下命令:d eax 會看到我剛才輸入的假註冊碼。
好了,到了最後一步,來個序號產生器玩(誰讓我看你不順眼,讓你永世不得翻身!)。請出keymake,選擇另類序號產生器,添法如下:
第一個地址:
中斷地址:4F4DE7
中斷次數:1
第一位元組:E8
指令長度:5
第二個地址:
中斷地址:40411C
中斷次數:1
第一位元組:53
指令長度:1
終於結束戰鬥啦,對啦,這個東東可是加了殼的哦,別忘了選上"經過加殼"呀!
E-mail:crackYY@hotmail.com
oicq:20651482