※※※※※※※※※※※※※※※ ※ ※ ※ ※※ 點睛工作室 ※※ ※ ※ ∼∼∼∼∼∼∼∼∼∼∼ ※ ※※※※※※※※※※※※※※※ ———————————————————————————————— 偏移量轉換器 0.94 版 ———————————————————————————————— 0.94 版增加熱鍵喚出的功能,增加一個缺省的「文件頭」區段,以便 對文件頭進行操作(比如利用文件頭裡的空間)。 目前不能自定義熱鍵,其預設值為 F12 。 此版開始使用大宇(http://hadana.my.west163.com)的《RVA字串乾 坤大挪移》作為偏移量轉換器的使用說明。大宇在原文基礎上作了部分修 改。如果你還不知道如何使用偏移量轉換器的話,此文是不錯的教程。當 然,關於字符串修改的文章也是必讀的,這些文章的鍊接也在此文中。 鳥嘌呤(qiaohai@citiz.net)提出熱鍵呼出的建議。謹此對鳥嘌呤 和大宇表示感謝。 如果不出意外的話,這將是此軟件的最後一個版本。 ———————————————————————————————— 0.93 版增加對文件拖放的支持;增加在選擇區段窗體的標題欄顯示 基地址的功能;增加 RVA 和 VA 的選擇。 VA 表示不包含基地址的偏移量,在 PE 文件頭的部分會用到 VA , 不過一般的字符串的偏移量都是使用 RVA 來計算,不需要使用 VA ,VA 只在修正文件頭信息時有用。 ———————————————————————————————— 0.92 版修正一個比較嚴重的 Bug ,是十六進制轉換過程中,把四位 的十六進制當作有符號的兩字節數據處理,造成如果輸入數據在 0x7fff 到 0xffff 之間的話,會錯誤地認為數據不在段中,此問題一般只發生在 輸入實偏移的時候;另外 ,0.92 版增加了在十進制和十六進制之間的切 換時自動進行進制轉換的功能,偉來信說「對於這軟件的功能,我想不到 有什麼需要增加的 :-) 除非你有興趣,變成計算器 :-) 」,現在,雖 然沒有變成計算器,但是可以進行十進制和十六進制的轉換了 ;0.92 版 還增加了選擇主窗體上的區段信息的下拉列表框時,顯示其 FileMin 和 RamMin 的功能。 關於字符串在哪個區段 ,應該和編譯器有關,比如,據我檢測,VB 程序的所有字符串(包括 UniCode 和 ASCII)都在「.text」區段內,至 於其它程序的字符串都在哪些區段,可能就需要廣泛的合作檢測才能明確 了。 ———————————————————————————————— 0.91 版修正一些隱患(也許永遠碰不到,不過還是應該嚴謹一些); 修正自動排除 FileMin 為 0 的功能;增加對於重疊區段的提示的功能。 關於「選擇區段」,就是為了讓用戶可以手動排除重疊區段,否則有 可能出現錯誤。而本程序自動排除 FileMin 為 0 和 FileMin = FileMax 的區段,所以一般不需要用戶自己選擇。但是如果您發現了其它的重疊區 段的例子,請通知我。當然,如果你確實知道字符串不可能在某些區段內 的話,也可以使用這一功能排除它們。 有興趣的話,可以查看一個 Delphi 程序,一般會發現自動排除了兩 個區段,這兩個區段是 FileMin = FileMax 的,而如果選擇這兩個區段, 按「確定」的話,會出現區段重疊的提示。另外,也可以用 WinImp 測試, 它的一個區段是 FileMin 為 0 的。 偉乾文章中所說的的那個 RVA 轉換器不做此種判斷,只是順序的比 較,我認為這樣是有隱患的。 ———————————————————————————————— 本程序是一個進行 RVA 和 File Offset 之間轉換的工具,本來已經 有了這種工具,不過這是在我完成此程序 80% 的時候,偉才來信告訴我 已經有這種工具了,真是@$%*&# :) 「至剪貼版」的按鈕按下後,如果算出代碼的話,會自動複製到剪貼 版;而「選擇區段」窗體上顯示的數據都是十六進制,不受主窗體選項的 影響。虛偏移指數據在內存中的地址,就是 RVA,實偏移指數據在文件中 的地址,也就是 File Offset 。 關於使用本工具後如何修改字符串的長度,可以參見明白、偉乾和我 的相關文章,這些文章在漢化新世紀可以見到。 因為我對 PE 文件的認識並不是很深,可能會有我沒有預料到的情況 發生,如果出現,請通知我。對於 PE 文件的格式,我是參考六手修羅的 CoCoRes 中的相應介紹和自己的實際測試瞭解的。CoCoRes 的簡體版可以 在我的主頁下載。 ———————————————————————————————— 已知問題: 1. Win 98 可以直接運行本程序;Win 97 需要 VB5 運行庫: URL: http://llf.163.net/studio/msvbvm50.rar Win 95 還需要 Ole32 ,可以在微軟的站點下載。 2. 因為使用 256 色圖標,所以需要選擇「顯示屬性 - 外觀」中的 「使用各種顏色顯示圖標」選項才能看到原色的圖標。 3. 因為使用有符號數,所以只能處理小於 2G 的程序。 :) 4. 如果當前沒有程序被激活的話,熱鍵喚出功能將失效,使任何一 個程序被激活之後,熱鍵喚出功能恢復。另外,本程序最小化時也不能使 用熱鍵喚出的功能。 ———————————————————————————————— 聲明 ぇ 本軟件僅供個人下載、複製、使用,請勿用於任何商業場合。 え 對由於使用了本軟件而造成的損失,本人概不負責。 ぉ 希望您可以將發現的錯誤通知我,我將盡快改正。 點睛工作室(llf.126.com) 梁利鋒(llfhome@126.com)