淺談用“搜尋大法”來索取記憶體註冊碼
====================
作者:《絕密檔案》
主頁:http://hongjian.126.com
破解工具:SOFIC4.5版本!
破解原理:
根據註冊碼的真假相近鄰的特性,採取搜尋假註冊碼來找真的註冊碼的方法!
由於部分程式的真假註冊碼驗證方法如下:
call XXXXX ##### 呼叫子程式來驗證真假註冊碼
CMP xxx,xxxx ###### 比較真假註冊碼
jn 跳或不跳 #### 真就怎麼樣,假就怎麼樣,跳或不跳
當你按F10鍵單步跟蹤到此後,(一到出現出錯資訊為止-即或按F12直到出錯為止),
這時,程式已經對你所輸入的註冊碼進行了驗證!併發出出錯資訊!
所以,此時記憶體中就存在真假兩個註冊碼!此時,記憶體中就存在真假兩個註冊碼!
所以你就可以使用搜尋大法!!
具體步驟如下:以“郵件巡捕”為例子:
軟體介紹:郵件搜尋
特點:註冊碼符號其特!!令人費解!
用搜尋“S7878”大法取“郵件巡捕 v1.62”註冊碼
====================
破解步驟:
一)執行TRW,匯入“財會軟體”,輸入
使用者名稱:絕密檔案E-mail:http://hongjian.126.com
註冊碼:787878-78787878-78787878
二)^+D 返回SOF狀態!
三)設定斷點:bpx hmemcpy 後,按F5返回“郵件巡捕 ”,再按確定鍵!立即被TRW攔截成功
四)BD *臨時中斷!
五)按F12鍵 37次後,因第38次出錯,且出錯後並不能立即被SOF攔截,故需鍵F12共37次!
再按F10到這裡:
0167:0041C731 POP ESI
0167:0041C732 RET
0167:0041C733 MOV EAX,ECX
0167:0041C735 PUSH BYTE +01
0167:0041C737 POP ECX
0167:0041C738 XOR EDX,EDX
0167:0041C73A MOV [EAX+04],ECX
0167:0041C73D MOV [EAX+08],EDX
0167:0041C740 MOV [EAX+0C],EDX
0167:0041C743 MOV [EAX+10],EDX
0167:0041C746 MOV [EAX+14],ECX
六)使用"7878"大法 即 S 30:0 LFFFFFFFF '78787878' 進行第一次搜尋!
在“78787878”(共出現三次)的地方並沒有註冊碼出現,正常!因為程式到目前為止,
還沒有對真假兩個註冊碼進行驗證,所以,此時搜尋只能找到假的,真的還沒有出現!
(很多朋友說不能搜尋,我想大概就是這個原因吧)
七)於是,使用F10鍵單步跟蹤!!直至出錯視窗!按確定後程式立即又被SOFTICE攔截,
這時你就可以使用搜尋大法去搜尋!
此時,使用搜尋大法發現:
787878
787878
787878
emailspidereasy.exe
Y[MQ6(GAYTa[*)I{FkIP@+@ ###假的註冊碼
hongjian
>XUrGyXQhttp://hongjian.126.com
.hYLd$`Q>XUrGyXQ|T"9`C*V ####真的註冊碼
或者你也可以邊檢視CALL xxx ,cmp xxx,xxx jz xxx ,
邊搜尋,直到出現真的為止!
注意,記下出錯當前系統的CALL XXXX ###這個CALL XXX 導致出錯!
*****************
第二次跟蹤:(一般情況下並需要)
注意,此時,程式不要退出,但是,你必須重新輸入相關的註冊資訊,否則,
否則,以後你所搜尋的東西還上一次的內容!只有當第一次不能搜尋,才使用第二次,
主要是進入出錯的CALLXXX 裡面搜尋!
(本例並不需要,大多數也不需要)
八)按確定後,BE * 恢復斷點!再鍵F5鍵返回程式,再確定!又被攔截成功!
九)BD * 中斷後,再按F12 37次,再次來到這裡:
0167:0041C731 POP ESI
0167:0041C732 RET
0167:0041C733 MOV EAX,ECX
0167:0041C735 PUSH BYTE +01
0167:0041C737 POP ECX
0167:0041C738 XOR EDX,EDX
0167:0041C73A MOV [EAX+04],ECX
0167:0041C73D MOV [EAX+08],EDX
0167:0041C740 MOV [EAX+0C],EDX
0167:0041C743 MOV [EAX+10],EDX
0167:0041C746 MOV [EAX+14],ECX
十)再次使用搜尋“S7878”大法,這時,在787878下面出現:郵件搜尋的EXE檔名,
使用者名稱,使用者電子信箱...你註冊時的資訊!這時,
要注意:在使用者EMAIL資訊前頭有一此資訊,之前有一串奇怪的符號;
之後也有一些奇怪的符號,且包含電子信箱前面的資訊,它就真的註冊碼,抄下吧!
如:
787878
787878
787878
emailspidereasy.exe
Y[MQ6(GAYTa[*)I{FkIP@+@ ###假的註冊碼
hongjian
>XUrGyXQhttp://hongjian.126.com
.hYLd$`Q>XUrGyXQ|T"9`C*V ####真的註冊碼
總結:
1)使用搜尋“S7878”大法,使其程式第一次執行進行註冊碼驗證,根據真假註冊碼相近鄰的特性,
在第一次程式進行驗證後,記憶體中就已經存在真假兩個註冊碼了!當第二使用搜尋S7878大法時,
在記憶體中便出現真的註冊碼了!
2)另,在填寫註冊碼時,最好使用系統不常出現的字元作為註冊碼!方便準確搜尋!
如:asasasasasa opopopopopo uiuiuiuiuiuiui 等!不要使用12345678或 11111111等,
因為這些字元在WIN系統中到處都是!它會影響你的搜尋準確性!
本人用此辦法破解了:神奇登錄檔、輕鬆試卷、萬能五筆、DBTOOLS資料專家等
注意:
此方法,只適用於一些簡單的註冊碼加密法!
=========================
這種方法也有其侷限性:
1)真的註冊碼必須在記憶體中以文字形式出現,不能以十六進位制形式出現!
2)VB程式此方法失效!
3)一些複雜的註冊碼驗證法。如:逐個驗證註冊碼此方法失效!
==========================
作者:《絕密檔案》
主頁:http://hongjian.126.com
歡迎各位大俠多多指導!