DLL文件破解時間限制嘗試


背景:

最近需要一個PDF轉WORD的功能需求,找到了一個dll,但是有時間限制,於是就嘗試了以下,利用工具去除該時間限制。

DLL文件:PDF2WORD

工具:

IDA Pro Advanced6.1 (主要用於分析匯編代碼的邏輯,找到關鍵點)

OllyDbg (修改dll中的匯編代碼並可以另存為dll)

思路:在DLL的反匯編代碼中找出時間判斷的位置,跳過該時間判斷。

實現:

利用IDA Pro 打開dll文件,該工具可以圖形化的展示dll內部各個方法的跳轉關系,如下圖:

該DLL在超期使用時,會彈出提示,如"Clock Tempering Detected"字樣的字符,在IDA中,查找該字符,如下圖:

搜索過程是比較漫長的,有經驗的朋友就知道,一般這些字符,會有固定的存放位置,在.rdata或.text 區段,如下圖

很明顯,第一個就是我們要找到的字符串,雙擊之,進入如下界面

黃色區域的,就是該字符的在程序中的調用地點,想看看他在何處定義的,雙擊之,如下圖

上圖已經列出了該字符區域在哪些方法中被調用了,如下圖

回到剛才在程序中的調用位置,在IDA中,可以將圖形縮小,順着這個方法,不斷的向上找,

找到他是什么時候開始調用這個方法的。如下圖:

藍色方塊就是進入提示的地方,綠色方塊,有個判斷,正確了,就走向能用的線路。

方法名是loc_1000399E,這樣就好解決了,不讓方法走入他們的父節點。直接跳轉到1000399E地址就可以了。

在橙色方塊上面那句,jl loc_10003899,改為 jmp loc_1000399E,這樣,判斷時間的方法就不會走進去了。直接屏蔽了。

開始修改了,此時會發現IDA原來沒辦法直接保存為dll,能看能改就是不能存,這就需要用到OllyDbg工具了。

在IDA中,鼠標選中 jl loc_10003899 這句話,然后切換到匯編視圖

找到了具體的匯編代碼,復制這段代碼。開始用OllyDbg來修改了。

OllyDbg打開該DLL

鼠標右擊,開始搜索二進制文本

找到如下位置(有的時候,會出現同樣的地方,這就需要你一個個的判斷,是否是那個位置)

雙擊之,

修改為

點擊匯編,修改后的代碼

接下來,就要進行保存了

代碼區域,選中更改了那兩句

在該界面,右擊,選擇保存,就可以把dll重新輸出。

到此為止,該dll的時間限制就去除了,可以更改本機時間測試以下:)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM