目標程式:mIRC V5.71 32Bit
程式下載:http://ilike.myrice.com/soft_chat/mirc_2.html
使用工具:TRW2000,Turbo c++3.0 編譯器
保護方式:註冊碼
難易程度:易,適合初學者練習寫序號產生器。
最近申請了一個IRC聊天(202.96.137.64 頻道:#Crack),當然選用mRIC這個最流行的 IRC 客戶程式,這是一個十分優秀的共享軟體,不註冊有時間限制。剛好今天閒著沒事,好久沒為新手寫東西了,故以這軟體為例,談談如何寫序號產生器。
拿到這個軟體,首先執行一遍,看看功能是否有限制,然後再看看註冊方式,還好,這是一個常用的註冊保護方式,不註冊還有NAG跳出,在Help處輸入註冊碼,當然我們從輸入註冊碼方式來下手了。
在破解序列號有多種方式,我們這次採用常用的方法,就是根據出錯的對話方塊,反推找到註冊碼比較核心。
註冊不成功時,會跳出一對話方塊。因此我們用bpx messagboxa設斷來攔截這個對話方塊。
0167:004A33A8 PUSH DWORD 00531B23 -- -序列號進棧
0167:004A33AD PUSH DWORD 0053173C--- - ID進棧
0167:004A33B2 CALL 004A2F9C―――――重點!!!跟進看何處使EAX可不為0
0167:004A33B7 TEST EAX,EAX ――――― 試著下 EAX=0註冊失敗(這是以EAX為旗幟)
0167:004A33B9 JZ NEAR 004A345A―――這裡也可跳過
..........................................................
..........................................................
0167:004A3450 MOV EAX,01
0167:004A3455 JMP 004A351A――――――這裡可跳過
..........................................................
..........................................................
0167:004A34AA PUSH EAX
0167:004A34AB MOV EAX,[EBP+08]
0167:004A34AE PUSH EAX
0167:004A34AF CALL `USER32!MessageBoxA`―出錯的對話方塊,然後向上分析何處跳過此處。
========================================
跟進0167:004A33B2 CALL 004A2F9C後:
0167:004A2FBD MOV EAX,EDI
0167:004A2FBF MOV EDX,ECX
0167:004A2FC1 SHR ECX,02
0167:004A2FC4 REP MOVSD --------- 如在TRW2000裡按F10,會馬上帶過下面程式碼(因此在這裡用F8)
0167:004A2FC6 MOV ECX,EDX----而在SOFTICE裡就沒這種情況。
0167:004A2FC8 AND ECX,BYTE +03
0167:004A2FCB REP MOVSB ---------這裡用TRW2000時,按f8
0167:004A2FCD POP ESI
0167:004A2FCE PUSH ESI
0167:004A2FCF MOV EDI,ESI
0167:004A2FD1 MOV ESI,005425DC
0167:004A2FD6 XOR EAX,EAX
0167:004A2FD8 OR ECX,BYTE -01
0167:004A2FDB REPNE SCASB ---------這裡用TRW2000時,按f8
0167:004A2FDD NOT ECX
0167:004A2FDF SUB EDI,ECX
0167:004A2FE1 XCHG ESI,EDI
0167:004A2FE3 MOV EAX,EDI
0167:004A2FF3 POP ESI
0167:004A2FF4 PUSH DWORD 005425DC-----序列號進棧
0167:004A2FF9 PUSH DWORD 005424DC ----ID進棧
0167:004A2FFE CALL 004A2EA4----------------重點!!!跟進看何處使EAX可不為0
0167:004A3003 TEST EAX,EAX------------------EAX=0失敗
0167:004A3005 JZ 004A300E
========================================
按F8跟進0167:004A2FFE CALL 004A2EA4裡,如下:
0167:004A2EB9 POP ECX
0167:004A2EBA CMP EAX,BYTE
宣告:該文觀點僅代表作者本人,轉載請註明來自看雪專欄