破解明宇報表開發工具全程記錄

用了這麼多報表工具,明宇報表平心而論是目前市面上稍好用的報表工具。公司選擇明宇報表之初,該報表並不能實現公司所有需求,甚至主要需求也無法滿足,後來公司與深圳明宇公司合作,明宇公司給我們公司定製了一個報表工具。但是無奈明宇使用了加密狗,必須要用key才能使用,而這個開發key好幾萬一個,不得不說這個明宇公司夠黑的。由於公司業務越來越多,key經常都是幾個人輪着用,有時客戶催的緊,key又被別人急用着,焦頭爛額之際,我想何不把他破解了,於是我開始尋思着如何下手。具體的分析過程不做累述。接下來開始上主菜吧。

要key才能使用


經過分析發現,這個工具是用dephi開發,並且是加了殼的,是UPX殼。加了殼的軟件,通常我們找不到主程序入口,那麼很簡單,首先我們要脫殼。

1、將程序載入OD,按F8開始單步調試,當左邊寄存器窗口的ESP和EIP紅了就停。

 

2、選中ESP後面的地址,右鍵-》數據窗口中跟隨

3、選中地址打上斷點


4、重新開始,按F9讓程序執行到斷點處,然後F8單步到


這裏的Jnz是一個像上跳轉,我們選中下面一條,然後按F4直接跳過這一步,此時里程序的OEP(程序真正的入口)已經不遠了

5、然後按兩次F8,就到了程序的真正入口了,我們可以開始脫殼了

6、右鍵-》用OD脫殼調試進程



什麼都別改,直接點擊脫殼。保存,脫殼完成。

接下來開始破解加密key了,我們將脫了殼的程序載入OD

1、  按F9運行起來,到程序彈出“未找到加密鎖”的提示框,按F12跟蹤,點擊K,來到

 

2、  選中,右鍵,選擇在顯示調用


3、  在段首處設下斷點


4、  重新運行,到達斷點的時候,右下角會出現返回到xxxxxx到xxxxxxx,選中00404B3C右鍵.選擇反彙編窗口中跟隨,找到他的彙編代碼

6、jnz在彙編語言中的意思是當結果不爲零的時候跳轉,沒有key的情況一定返回了0,所以我們將jnz改爲無條件跳轉的調用,也就是將jnz改爲jmp,相當於if(1==1),程序就會繼續往下執行

 

保存一下,我保存在了桌面,文件爲b.exe,然後打開看看

這個時候程序已經不再提示“未找到加密鎖”,說明加密鎖成功。但是又提示個這個玩意,沒關係,一樣的道理,重複上訴步驟,在反彙編跟隨的時候,上面遇到的是jnz,jge的意思是有符號大於等於則跳轉,也是一個判斷,同樣把jge改爲無條件跳轉。

改完之後保存爲文件c.exe,打開


媽蛋還有提示,無奈再次重複上述步驟

功夫不負有心人啊,歷經九九八十一難終於取得西經。大多數加密狗的破解方法都是類似的,大家可以舉一反三<><>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章