軟體下載:http://www.21swe.com/
首先找到mail.exe的註冊錯誤提示資訊:“您的註冊名稱或註冊號不對,不能註冊”
因為真假註冊碼比較以後才會出現這個提示
========
W32Dasm反彙編和TRW2000一起使用
* 用language檢視,程式沒有加殼
* 用W32Dasm反彙編,根據“串式參考”找到註冊錯誤提示資訊“您的註冊名稱或註冊號不對,不能註冊”,雙擊
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404D51(C)
|
:00404FEC A100C94D00 mov eax,
dword ptr [004DC900]
:00404FF1 6A00
push 00000000
* Possible StringData Ref from Data Obj ->"錯誤提示"
|
:00404FF3 B9E2534D00 mov ecx,
004D53E2
* Possible StringData Ref from Data Obj ->"您的註冊名稱或註冊號不對,不能註冊!"
|
:00404FF8 BABE534D00 mov edx,
004D53BE
:00404FFD 8B00
mov eax, dword ptr [eax]
:00404FFF E8C0870B00 call 004BD7C4
發現是從00404D51跳轉過來的,滑鼠右鍵雙擊00404D51
:00404D1E 8945C8
mov dword ptr [ebp-38], eax
:00404D21 8D55C8
lea edx, dword ptr [ebp-38]
:00404D24 FF461C
inc [esi+1C]
:00404D27 8B83E8020000 mov eax, dword
ptr [ebx+000002E8]
:00404D2D E8FE210700 call 00476F30
:00404D32 8D45C8
lea eax, dword ptr [ebp-38]
:00404D35 8D55FC
lea edx, dword ptr [ebp-04]
:00404D38 E8F38C0B00 call 004BDA30
:00404D3D 50
push eax
:00404D3E FF4E1C
dec [esi+1C]
:00404D41 8D45C8
lea eax, dword ptr [ebp-38]
:00404D44 BA02000000 mov edx,
00000002
:00404D49 E8128C0B00 call 004BD960
:00404D4E 59
pop ecx
:00404D4F 84C9
test cl, cl
:00404D51 0F8495020000 je 00404FEC
:00404D57 B201
mov dl, 01
:00404D59 A1F4A44400 mov eax,
dword ptr [0044A4F4]
:00404D5E E8E9580400 call 0044A64C
:00404D63 8BF8
mov edi, eax
:00404D65 89BBF4020000 mov dword ptr
[ebx+000002F4], edi
:00404D6B BA02000080 mov edx,
80000002
:00404D70 8BC7
mov eax, edi
:00404D72 E85D8A0B00 call 004BD7D4
:00404D77 66C746102C00 mov [esi+10],
002C
對照“風飄雪”的破解教程,發現可疑的關鍵Call在00404D38
開啟TRW2000
在mail.exe中的註冊欄中填入:使用者名稱“mazhenyu”和註冊號“87654321”,但不點選“立即註冊”
“Ctrl+N”啟用TRW2000
在00404D35處下斷點:bpx 00404D35,回車,然後按“F5”退出
點選mail.exe註冊欄中的“立即註冊”
程式被中斷
按一下“F10”來到00404D38,沒有發現註冊碼,按“F8”進入Call以進一步追蹤
0137:004BDA2F RET
0137:004BDA30 PUSH EBP
0137:004BDA31 MOV EBP,ESP
0137:004BDA33 PUSH EBX
0137:004BDA34 MOV EAX,[EAX]
0137:004BDA36 MOV EDX,[EDX]
0137:004BDA38 CALL 004ACE0C
0137:004BDA3D SETZ AL
0137:004BDA40 AND EAX,BYTE +01
0137:004BDA43 POP EBX
0137:004BDA44 POP EBP
0137:004BDA45 RET
0137:004BDA46 NOP
0137:004BDA47 NOP
0137:004BDA48 PUSH EBP
0137:004BDA2F RET
0137:004BDA30 PUSH EBP
0137:004BDA31 MOV EBP,ESP
0137:004BDA33 PUSH EBX
0137:004BDA34 MOV EAX,[EAX]
0137:004BDA36 MOV EDX,[EDX]
0137:004BDA38 CALL 004ACE0C
0137:004BDA3D SETZ AL
0137:004BDA40 AND EAX,BYTE +01
0137:004BDA43 POP EBX
0137:004BDA44 POP EBP
0137:004BDA45 RET
0137:004BDA46 NOP
0137:004BDA47 NOP
0137:004BDA48 PUSH EBP
按“F10”向下移動綠色光條,結果在004BDA38處找到真假註冊碼:
d eax=87654321
d edx=356088
將使用者名稱“mazhenyu”和註冊號“356088”進行註冊,註冊成功!
太棒了!
馬震宇
2001.8.16.