基本上下一個 UPX-iT 就可脫殼90% 以上的加殼檔
再用資源修改工具來中文化
如想要加殼回去
看是直接使用 Aspack (最常用的加殼格式)
或先用某工具得知 原加殼檔 使用的是哪種加殼格式
再用對應的加殼工具加殼回去
(因為個人不做這種無意義的事,所以工具就...)
說真的今天個人才知道有 假殼 這種東西 ^^||
Eric Chen 兄提到的 PE Explorer
推薦一個 pdump
執行後可看到一按鈕 PE Editor
對 tutorwiz_loc0404.dll 開啟
名詞解釋:
RVA,Relative Virtual Address
解釋:
PE 格式 執 行 檔 中 有 許 多 資 料 的 位 址 都 是 以RVA 表 示 。 簡 單 的 來說RVA 是 某 一 項 資 料 從 檔 案 被 映 射 進 來 的 起 點 算 起 的 偏 移值 (offset ) 。 舉 個 例 子 , 我 們 說Windows 載 入 器 把 一 個PE 格式 執 行 檔 檔 映 射 到 虛 擬 位 址 空 間0x400000 處 , 如 果 在 此 執行 檔 中 有 一 個 函 式 的 函 式 指 標 起 始 於0x40C000 , 那 麼 這 個函 式 指 標 的RVA 就 是0x C000 :
虛 擬 位 址 (0x40C000 ) ─ 基 底 位 址 (0x400000 ) = RVA (0xC000 )
只 要 把 相 對 虛 擬 位 址 加 上 基 底 位 址 , 相 對 虛 擬 位 址 就可 以 被 轉 換 為 一 個 有 用 的 指 標 。 『 基 底 位 址 』(Base Address) 也 是 另 一 個 重 要 名 詞 , 通 常 基 底 位 址 是 用 來 描 述 被 映 射到 記 憶 體 中 的EXE 或DLL 的 起 始 位 址 。
Section 包 含 意 義
.text 應 用 程 式 或DLL 的 程 式 碼 這 個section 包 含 了 一 般 性 的 程 式 碼 ,就 是 先 前 提 到 的 除 了 自 己 所 撰 寫 的 程 式 碼 外 還 有Runtime Library 的 程 式 碼 。
.data 具 有 初 始 值 的 資 料 這 個section 存 放 了 在 編 譯 時 期 就 已 經具 有 初 始 值 的 資 料 ; 包 括 了 全 域 變 數 (global variable ) 、靜 態 變 數 (static variable ) 以 及 ”Hello World ” 這 一 類 字 串等 等 … 。
.tls 執 行 緒 內 部 儲 存 空 間 thread local storage
.idata 輸 入 名 稱 表 這 個section 包 含 了 有 『 從 其 他DLLs 中輸 入 過 來 的 函 式 與 資 料 』 的 相 關 資 訊 。
.edata 輸 出 名 稱 表 這 個section 恰 好 與.idate 相 反 , 是 存 放了 由 此EXE 或DLL 輸 出 給 外 頭 使 用 的 函 式 與 資 料 的 相 關 資 訊。
.rsrc 資 源 若 你 使 用 過Microsoft Visual C++ 或 是Borland Resoure Workshop 來 觀 察 過EXE 或DLL , 你 所 看 到 的 那 些resource date 就 是 儲 存 在 這 個section 裡 。 也 就 是 編 譯 器 將 應 用 程 式 所 需要 用 到 的resource date 都 整 理 好 一 起 放 到 這 個section 裡 頭 。
.reloc 修 正 表 資 訊 這 個section 裡 頭 含 有 一 個base relocationsg 是 一 個 調 整 值 , 先 前 說 過 當 …. 會 , 但 若 無 法 載 入 到 預 設的 位 址 , 就 會 依 據 這 個 調 整 值 來 作 調 整 。
================
其實中文化沒這麼難
因為您那個例子比較特殊才會延伸這些專業知識的問題
資源修改工具 個人喜歡用
Resource Hacker
原因可修改控制項大小、位置...
而且記得PCHome (Toget 軟體下載)就可找到中文版
|