2012年10月1日 星期一

[HACK] 如何修改 .exe 程式的文字 (VC)

[ 目標 ]
修改範例程式的文字。常見作法有
1. 小畫家大法 (美化)
2. 開 source 程式來改
3. 使用 Cheat engine (hack)
4. 使用 Hex 工具修改文字 (hack)

作法有各自的優缺點,這篇文章針對第四種作法進行說明:當手上無 source code 可用、但需要讓程式實際運行並且永久變更某部份文字時。常見用於炫耀分數修改版權文字



[ 工具 ]
1. 該程式的開發軟體  (非必需)
2. Hex Editor


[ 作法 ]
1. 鎖定需要修改文字的關鍵字 Ex: knem

2. 開啟 Hex editor 進行 .exe 檔案編輯

3. 搜尋文字 "knem" or "6b 6e 65 6d"(Hex) or "6b 00 6e 00 65 00 6d 00"(Hex)。此例對象軟體是VC 6.0產生出來的執行檔, 使用  "6b 00 6e 00 65 00 6d 00"(Hex) 進行搜尋










4. 編輯文字成 hack "68 00 61 00 63 00 6b 00"(Hex),存檔


5. 重新啟動程式


















[ NOTE ]
1. 搜尋時,結果可能會有多個。此時根據經驗來判斷該搜尋結果是否為目標
2. 針對中文字,每個軟體的編碼方式可能不同。因此最好依據該開發軟體所產生出來的 Hex 碼為準
3. 由於程式編譯時,文字的字串長度通常是固定的。因此文字長度最好不要超過原字串長度

1 則留言:

Unknown 提到...

請問版主,若不知道原本他是用什麼軟體寫出exe,也可以用此篇方法進行修改文字嗎? 謝謝