由於很需要用一個DLL,擔心該DLL有時間限制,而且修改系統之間之後直接變成了到期。無奈之下尋找破解DLL的辦法。
參考了http://hi.baidu.com/goldchocobo/item/5e85f8762dc45f285c1789ce破解某DLL檔案完成,最後終於破解了。
其實還是因為這個DLL的時間限制做得不是很複雜。
記錄一下基本的步驟:
1.查殼 查殼工具, 發現沒有殼
2. 去殼 沒有殼自然就不需要去殼了哦
3.破解 Ollydbg工具破解。
1) OllyDbg只支援ASCII文本的尋找,用ULTRAEDIT開啟脫殼後的XX.DLL檔案,找到前面所述的文字(脫殼後在DLL檔案中漢字未加密),
2)將相關中文字統一在16進位模式的右側邊欄修改為ACSII碼. 在OllyDbg中開啟調用這個DLL檔案的程式A.EXE,它會將相關調用DLL庫檔案讀入記憶體後,按ALT+E(執行模組),可以看到讀入哪些DLL檔案,然後選中我們的XX.DLL檔案,按右鍵選擇"跟隨入口",就到CPU模式下這個XX.DLL檔案所在內容視窗.
3)SO多的代碼,怎麼找呢?在表單中按右鍵選擇"搜尋"->"字元參考",進可以看到這個DLL裡所有能識別的ACSII字元列表哩,很容易就可以看到先前修改的字串.選中字串後按右鍵選擇"反組譯碼中跟隨".就可以到那一段了.
4)找到相關位置後一般會看到MessageBox,我們需要修改的事跳轉到執行MessageBox的語句,彙編我也看不懂,連蒙帶猜修改該行之前的條件跳躍陳述式,跳轉到MessageBox語句之後就可以了。上面那篇文章裡提到的方法如下(有一定的參考價值):
“讀一下10002404 898D E4FCFFFF MOV DWORD PTR SS:[EBP-31C],ECX
1000240A 8B95 D6FCFFFF MOV EDX,DWORD PTR SS:[EBP-32A]
10002410 81E2 FFFF0000 AND EDX,0FFFF
10002416 8995 C8FCFFFF MOV DWORD PTR SS:[EBP-338],EDX
1000241C 81BD E4FCFFFF D5>CMP DWORD PTR SS:[EBP-31C],7D5
10002426 75 20 JNZ SHORT SGIP.10002441
10002428 83BD C8FCFFFF 09 CMP DWORD PTR SS:[EBP-338],9
1000242F EB 24 JMP SHORT SGIP.10002455
10002431 C685 A4F5FFFF 00 MOV BYTE PTR SS:[EBP-A5C],0
10002438 75 1B JNZ SHORT SGIP.10002441
1000243A C685 A4F5FFFF 01 MOV BYTE PTR SS:[EBP-A5C],1
10002441 6A 00 PUSH 0
10002443 68 7CC00010 PUSH SGIP.1000C07C
10002448 68 84C00010 PUSH SGIP.1000C084 ; ASCII "chocobo chocob chocobo chocob chocob chocobo chocob chocobo chocobo chocobo cho"
1000244D 6A 00 PUSH 0
1000244F FF15 44910010 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
10002455 B0 01 MOV AL,1
10002457 8BE5 MOV ESP,EBP
10002459 5D POP EBP
1000245A C3 RETN 看到10002426和10002438兩段是跳轉到彈出註冊失敗的"函數"地區內.將其改成其他語句,比如JMP SHORT SGIP.10002455,即可.運行之後PASS.同理修改判斷檔案是否被修改的部分.JMP的作業碼為EB 最後一步,就是修改DLL檔案了,用ULTRAEDIT開啟,尋找81 BD E4 FC FF FF ,定好位之後,將原來的75 20 改成EB 20即可,存檔,運行EXE檔案調用,PASS,這時已無時間限制,並且不會判斷DLL檔案是否被修改過哩. ”
剛開始以為只要把導致彈框的那句隨便改一下就好了,結果導致了什麼ESI資料儲存錯誤的問題,所以還是要根據實際情況來判斷,不過應該一般來說就是要跳轉到MessageBox的下一行就可以了,就像上例中跳轉到10002455一樣。
非常感謝這位前輩提供的方法!!!
備忘:OllyDbg的版本是1.09C中文版,有更新的版本但是這個版本才跟上面方法中提到的步驟相同,其他版本的有些地方東西找不到,花了10個積分才下下來,無償共用了。