工具:trw2000 v1.23 keymake v1.34 FileInfo v2.45
最近看雪論壇一直不太平靜,時常有人在論壇發一些什麼"crack們醒悟吧",甚至罵我們這些crack是"敗類"!可甚者有人冒名頂替向兄弟們發病毒,硬碟被黑(在這,我就不說是誰啦),小黑被冤枉(我相信不是他乾的),就連我申請加入FCG的破解手記都被當成………
為了安全起見,我勸大家去申請hotmail郵箱,因為這個郵箱自帶macfee防毒工具,雖然空間小了些。由於看到這麼多兄弟被害,所以自已也不得不提高警惕,有一些熱心朋友給我來信,讓我試試鎖硬碟的工具,以防萬一。於是,我在網上找了一個"敏思硬碟衛士
v2.2",我曾經給我的一個朋友破過1.1版,覺得這個軟體在防解密方面做的實在不怎麼樣,不過功能還不錯,下面我就介紹一下"敏思硬碟衛士 v2.2版"的破解過程,希望能給初學者一些啟發。
還是老樣子,先用FI檢測一下這個軟體是否加殼。嗯……沒有加殼,那還等什麼?執行敏思硬碟衛士,點選註冊,隨便寫幾個數字,我寫的是:1212121212
。再按Ctrl+N撥出trw,下斷點:bpx hmemcpy ,然後按F5回到程式,點選註冊,馬上會被trw攔截,下命令:bc * ,清除斷點,接看再下命令:pmodule
,直接跳到程式領空,這時會看到以下程式碼:
0167:004355A2 CALL `USER32!CallWindowProcA`
0167:004355A7 MOV [EBX+0C],EAX
0167:004355AA MOV EAX,[EBX]
0167:004355AC CMP EAX,BYTE +0C
0167:004355AF JNZ 004355CC
0167:004355B1 MOV EDX,[EBX+08]
0167:004355B4 PUSH EDX
0167:004355B5 MOV ECX,[EBX+04]
0167:004355B8 MOV EDX,EAX
0167:004355BA MOV EAX,ESI
0167:004355BC CALL 00431450
0167:004355C1 JMP SHORT 004355CC
0167:004355C3 MOV EDX,EBX
0167:004355C5 MOV EAX,ESI
0167:004355C7 CALL 00432A10
然後連續按F12,按8次後,會彈出提示註冊碼錯誤的對話方塊,點選確定後,trw會再次彈出,這時可看到以下程式碼:
0167:004A41F0 CALL 00403C1C
0167:004A41F5 RET ―――――――――――――游標停在這一行
0167:004A41F6 JMP 00403630
0167:004A41FB JMP SHORT 004A41D8
0167:004A41FD POP EBX
0167:004A41FE MOV ESP,EBP
0167:004A4200 POP EBP
0167:004A4201 RET
0167:004A4202 ADD [EAX],AL
0167:004A4204 AND BL,AL
0167:004A4206 HLT
0167:004A4207 RETF
0167:004A4208 MOV ESP,CCC5B2D3
0167:004A420D INTO
0167:004A420E ROR DL,BF
然後再按Ctrl+PageUp ,一直到出現如下程式碼為止:
0167:004A4169 CALL 00403FAC ―――――這裡按F8跟進
0167:004A416E JZ 004A4193
0167:004A4170 PUSH BYTE +30
0167:004A4172 PUSH DWORD 004A4204
0167:004A4177 PUSH DWORD 004A4214
0167:004A417C PUSH BYTE +00
0167:004A417E CALL `USER32!MessageBoxA`
0167:004A4183 MOV EAX,[EBX+030C]
0167:004A4189 MOV EDX,[EAX]
0167:004A418B CALL NEAR [EDX+B0]
0167:004A4191 JMP SHORT 004A41CB
0167:004A4193 LEA EDX,[EBP-10]
0167:004A4196 MOV EAX,[EBX+030C]
0167:004A419C CALL 00431850
0167:004A41A1 MOV EDX,[EBP-10]
由於我們要進入004A4169處的Call,所以這時把游標移到這一行,按F9在這行設斷點,然後按F5返回程式,接著再點選"註冊",這樣trw馬上會攔截004A4169處的Call,按F8跟進後,會看到如下程式碼:
0167:00403FA9 LEA EAX,[EAX+00]
0167:00403FAC PUSH EBX ―――――――在這裡下命令:d edx會看到真正的註冊碼(0000000000)
0167:00403FAD PUSH ESI
0167:00403FAE PUSH EDI
0167:00403FAF MOV ESI,EAX
0167:00403FB1 MOV EDI,EDX
0167:00403FB3 CMP EAX,EDX
0167:00403FB5 JZ NEAR 0040404A
0167:00403FBB TEST ESI,ESI
0167:00403FBD JZ 00404027
0167:00403FBF TEST EDI,EDI
0167:00403FC1 JZ 0040402E
0167:00403FC3 MOV EAX,[ESI-04]
0167:00403FC6 MOV EDX,[EDI-04]
0167:00403FC9 SUB EAX,EDX
這時在00403FAC一行下命令:d edx 會看到:0000000000 ,然後按F5返回程式,輸入:0000000000 ,註冊成功。
不過還不要笑的太早,這個軟體是取隨機號來計算註冊碼的,也就是說一臺電腦一個註冊號,所以我們有必要做一個序號產生器。執行keymake,點選另類序號產生器,寫入以下數值:
第一個中斷地址:
中斷地址:4A4169
中斷次數:1
第一位元組:E8
指令長度:5
第二個中斷地址:
中斷地址:403FAC
中斷次數:1
第一位元組:53
指令長度:1
好啦,收工!
作者:crackYY[CNCG]
QQ:20651482
E-mail:crackYY@hotmail.com