破解DLL時間限制

來源:互聯網
上載者:User

由於很需要用一個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個積分才下下來,無償共用了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.