好用的脫殼檔案資源修正工具-FixRes.
程式作者: dREAMtHEATER 先生/小姐,以下是他/她在"看雪學院"發表的完整說明文章.在此表示感謝之意.
===================================================== 重要提示:本作品完全由本人獨立創作,未參考任何第三方源碼。 我增加了幾個接口函數,使用之前請認真閱讀我的說明,防止誤操作! 請下載 版本更新說明: 我重寫了大部分代碼,並進行了大量測試,被測試的加殼程序:UPX v0.72, v1.25, FSG v2.0, Aspack v2.12,其中UPX 0.72 對資源的處理比較變態,不過引擎針對此情況做了正確的分析, 目前完全可以正確地修復、重建 PE 資源,修復後 PE 文件資源可以被eXeScope、ResHacker、 PE Explorer 查看、編輯,非常好用了。 為了證明我的程序我更具有優越性,我測試了幾個 fly 給我的俄國老寫的類似程序,包括 pResFix v.0.2 by hapatsa, ResFixer v 1.0 beta 1 by seeQ, Resource Rebuilder v1.0 by Dr.Golova 他們只是簡單地將重建後的 resource section 保存成數據文件,如果你想生成真正能運行的 修復資源後的PE文件可能你自己還要做很多輔助工作,對PE格式、資源結構不熟悉的朋友我估 計很困難恢復到可用狀態,而我的程序把所有這一切均簡單化、自動化,生成真正的資源修復 後的可執行PE文件。 簡介: 很多被加殼的 PE 文件在脫殼以後,往往該 PE 文件的資源部分無法用某些資源查看器進行 查看、修改。這其中的主要原因是由於很多加殼程序將部分資源(如 Icon、Version Information) 從資源節 (resource section) 移到了殼增加的節裡,這導致很多資源查看器不能 正確識別分佈在兩個節裡的資源(順便說一下,PE Explorer 基本能識別大部分這種情況的資 源),DT_FixRes 是一個 PE 文件資源修復、重建引擎,它可以將分佈在多個節裡的資源重新移 到一個資源節裡,保證大部分資源查看器能夠對脫殼後的 PE 文件資源進行查看、修改。使用者 可以通過編程方式在自己的程序中使用該引擎。該引擎特別適合進行軟件漢化工作的朋友。 聲明: 1.您可以免費使用該引擎,如果您發佈了使用該引擎的程序,請在相關說明中註明該引擎的版 權信息,以表示支持作者的辛勤勞動; 2.該引擎不能保證所有的 PE 文件經過修復能正常運行以及資源能夠被查看、編輯,作者不承 擔任何相關責任。 使用說明: 本引擎以動態鏈接庫(dll)形式實現,該 dll 輸出三個函數,其中輸出函數 FixResFromFile 你可以用任何適用 Win32 平台的編程語言去調用,下面僅給出 C/Delphi 語言 的函數原型: C 形式函數原型: BOOL __stdcall FixResFromFile(const char* AFileName, char* ErrBuff); 參數說明: AFileName --- 指向你需要進行資源修正的 PE 文件路徑指針; ErrBuff --- 指向一塊至少具有 80 個字節空間的 Buffer 指針,在執行該函數返回錯誤時,接 收錯誤消息。 特別提示:該函數適用任何 Win32 平台的編程語言去調用。 Delphi 形式函數原型(共三個函數): <1> function FixResFromFile(const AFileName: PChar; ErrMsg: PChar): Boolean; stdcall; 參數說明: 同 C 形式函數原型參數說明。 <2> function FixResFromFileEx(const AFileName: string; var ErrMsg: string): Boolean; 參數說明: 其中 AFileName, ErrMsg 為 string 類型,使用之前無需再分配80 個字節空間的 Buffer,操作 更方便。其他說明同 <1> 。 <3> function FixResFromStream(var AStream: TMemoryStream; var ErrMsg: string): Boolean; 參數說明: AStream 為 PE 映像的內存流,其他說明同 <1> 。 特別提示:引擎只在正確 PE 格式的基礎上修復、重建 PE 資源,因此應用以上函數之前請保證被 操作文件或者內存流均具有正確的 PE 格式,否則可能造成不可預期的錯誤。 調用範例(Delphi 語言): procedure FixResDemo; type TFixPERes = function(const AFileName: PChar; ErrBuff: PChar): Boolean; stdcall; var ErrBuff: array[1..80] of Char; Handle: THandle; FixPERes: TFixPERes; begin Handle := LoadLibrary('DT_FixRes.dll'); if Handle <> 0 then begin @FixPERes := GetProcAddress(Handle, 'FixResFromFile'); if @FixPERes <> nil then if not FixPERes(PChar('ur PE file'), @ErrBuff) then ShowMessage(ErrBuff); FreeLibrary(Handle); end; end; 其他: 我寫了一個測試該引擎的 Demo,請與該引擎 dll 放在同一文件目錄下測試,發現 bug 請發信通 知我。 dREAMtHEATER 2005-03-16 E-mail:NoteXPad@163.com http://dREAMtHEATER.yeah.net ==================================================== 程式圖片: 需要的朋友請按我下載 :) :) :) |
謝謝分享~
做中文化的朋友又多了一個有用的工具來使用囉. :ddrf567h::ddrf567h: |
謝謝 中文化 的先輩^^
|
謝謝大大的中文化.
|
感謝前輩分享!!
|
更新版本,請頂樓下載,使用簡單弟就不中文化了.
更新時間:3月20日 重新了三遍源碼,這個版本還原的資源非常完美,正如說 明中寫的:對資源進行了完全優化,修復後的資源不含有任何垃圾數據,如同資源編譯器的 編譯效果,可以媲美未加殼前的原始資源。另外增加了重要接口,功能更強大,使用前一 定看說明. 程式圖片: |
thanks for sharing
|
|
謝謝樓主發佈這麼好用的中文化工具
希望我的中文化技術能更上一層樓:on_79: 偶是初學中文化的菜鳥:on_44: 日後還望請各位前輩不吝指導:on_55: |
剛剛開始學習軟體中文化;趕緊加緊學習!
|
非常感謝偉大的您,我以解決問題了
|
所有時間均為台北時間。現在的時間是 08:29 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *