密碼大師4.0破解過程 (3千字)

看雪資料發表於2001-05-06

密碼大師4.0破解過程
軟體下載:http://www.inhua.com/down/jm4.0.zip
用Trw2000載入檔案執行,下斷點bpx messageboxa,選擇大於2M的檔案,被攔下,按F12到下面
016F:004020D1  LEA      ECX,[EBP+FFFE772C]
016F:004020D7  CALL    004892A1
016F:004020DC  MOV      EDX,[EBP-10]
016F:004020DF  MOV      EAX,[EDX+1FBC]
016F:004020E5  MOV      ECX,[EBP-10]
016F:004020E8  CMP      DWORD [ECX+EAX*4+101C],00200B20    -->監測檔案長度
016F:004020F3  JNA      004020F7                          -->不跳就死,改為JMP SHORT 004020F7
016F:004020F5  JMP      SHORT 00402118
016F:004020F7  MOV      EDX,[EBP-10]
016F:004020FA  MOV      EAX,[EDX+1FBC]
016F:00402100  ADD      EAX,BYTE +01
016F:00402103  MOV      ECX,[EBP-10]
016F:00402106  MOV      [ECX+1FBC],EAX
016F:0040210C  MOV      EDX,[EBP-10]
016F:0040210F  CMP      DWORD [EDX+1FBC],BYTE +02          -->監測載入檔案數目
016F:00402116  JNG      00402140                          -->不跳就死,改為JMP SHORT 00402140
016F:00402118  PUSH    BYTE +00
016F:0040211A  PUSH    DWORD 005B8710
016F:0040211F  PUSH    DWORD 005B84DC
016F:00402124  MOV      ECX,[EBP-10]
016F:00402127  CALL    00484682                          -->這裡面就是錯誤提示了,向上看看
016F:0040212C  MOV      BYTE [EBP-04],00
016F:00402130  LEA      ECX,[EBP+FFFE772C]
016F:00402136  CALL    00488A4E
016F:0040213B  JMP      00402238
016F:00402140  MOV      BYTE [EBP-04],00
016F:00402144  LEA      ECX,[EBP+FFFE772C]
016F:0040214A  CALL    00488A4E
破解完成。。。。。
退出。。。
什麼。。。。竟然有出現提示視窗,幹掉他,下斷點bpx messageboxa,執行軟體,推出,程式被欄下,按2次F12到下面
016F:00402FD9  POP      ECX
016F:00402FDA  MOV      [EBP-04],ECX
016F:00402FDD  PUSH    BYTE +00
016F:00402FDF  PUSH    DWORD 005B8710
016F:00402FE4  PUSH    DWORD 005B84DC
016F:00402FE9  MOV      ECX,[EBP-04]
016F:00402FEC  CALL    00484682                          -->這個就是退出的提示視窗了,用5個nop蓋了它
016F:00402FF1  MOV      ECX,[EBP-04]
016F:00402FF4  CALL    0047F1B9
016F:00402FF9  POP      EDI
016F:00402FFA  POP      ESI
016F:00402FFB  POP      EBX
016F:00402FFC  ADD      ESP,BYTE +44
016F:00402FFF  CMP      EBP,ESP
016F:00403001  CALL    0041F440
016F:00403006  MOV      ESP,EBP
016F:00403008  POP      EBP
本想該結束了吧,沒想到退出時又出現了提示視窗,bpx messageboxa,按2次F12到下面
016F:00424773  AND      ECX,BYTE +04
016F:00424776  TEST    ECX,ECX
016F:00424778  JZ      004247E8                    -->這個跳轉可以帶過下面的CALL,改為JMP SHORT 004247E8
016F:0042477A  CMP      DWORD [EBP+10],BYTE +00
016F:0042477E  JZ      0042479D
016F:00424780  PUSH    BYTE +0A
016F:00424782  LEA      EDX,[EBP+FFFFCFDC]
016F:00424788  PUSH    EDX
016F:00424789  MOV      EAX,[EBP+10]
016F:0042478C  PUSH    EAX
016F:0042478D  CALL    004280D0
016F:00424792  ADD      ESP,BYTE +0C
016F:00424795  MOV      [EBP+FFFFCFD4],EAX
016F:0042479B  JMP      SHORT 004247A7
016F:0042479D  MOV      DWORD [EBP+FFFFCFD4],00
016F:004247A7  LEA      ECX,[EBP+FFFFF000]
016F:004247AD  PUSH    ECX
016F:004247AE  MOV      EDX,[EBP+14]
016F:004247B1  PUSH    EDX
016F:004247B2  MOV      EAX,[EBP+FFFFCFD4]
016F:004247B8  PUSH    EAX
016F:004247B9  MOV      ECX,[EBP+0C]
016F:004247BC  PUSH    ECX
016F:004247BD  MOV      EDX,[EBP+08]
016F:004247C0  PUSH    EDX
016F:004247C1  CALL    00424800                      -->這裡是錯誤框
016F:004247C6  ADD      ESP,BYTE +14
016F:004247C9  MOV      [EBP+FFFFEFF8],EAX
016F:004247CF  CMP      DWORD [EBP+08],BYTE +02
016F:004247D3  JNZ      004247E0
016F:004247D5  PUSH    DWORD 005E5688
016F:004247DA  CALL    `KERNEL32!InterlockedDecrement`
016F:004247E0  MOV      EAX,[EBP+FFFFEFF8]
016F:004247E6  JMP      SHORT 004247FB
016F:004247E8  CMP      DWORD [EBP+08],BYTE +02
016F:004247EC  JNZ      004247F9
載執行一下,一切流暢,到此破解終於完成了
煩。。。。。


conanxu[BCG]
conanxu@eastday.com

相關文章