1. 程式人生 > 其它 >逆向實戰 | galgame的漢化研究(新坑)

逆向實戰 | galgame的漢化研究(新坑)

開新坑了屬於是

主要是在看雪上面看到了這樣一個文章:https://bbs.pediy.com/thread-259962.htm
看的時候覺得很簡單,親手操作的時候人都麻了,每個遊戲都不太一樣,我直接用的我手頭的資源去嘗試的。

我選擇的是Clannad,程式本身加了殼,我沒仔細研究這個的脫殼,就想著看一下能不能直接漢化。
主要的遊戲目錄是這樣的:(因為我是用的別人漢化過的版本解除安裝漢化進行嘗試的,所以其實可能跟原版有區別)

主程式就是RealLive.exe,沒有別的dll,直接莽。
先把遊戲跑起來,然後上CE(CEyyds):

一不小心按到快進了,不過沒關係,咱直接搜這個字串就行。
這裡有個大坑,CE預設不搜程式碼段,但是由於存在加殼,所以管他是啥全都搜一遍,記得勾選codepage:
然後依舊搜不到,沒有關係,因為是按gbk搜的,應該要按sjis才行,所以我直接用編輯器新建了個txt然後儲存編碼為sjis然後搜這個字串的hex就可以了。

非綠色基址的部分就是我們要找的字串資原始檔的位置了!

驗證的方式也很簡單,就是Browse the Memory region,然後找一點別的字串拿出來驗證一下:
比如說我們把這一整串拿出來讀一下:

88 EA 96 CA 81 41 94 92 82 A2 90 A2 8A 45 81 63
用hex形式寫進去然後用sjis讀取:

非常nice:

可以再找點擴充套件ascii的片段試一試:

基本上可以說我們找到了目標在記憶體中的位置,然後下硬體斷點進行除錯就好了。
(今天就寫這麼多,有空繼續23333)

本文來自部落格園,作者:Mz1,轉載請註明原文連結:https://www.cnblogs.com/Mz1-rc/p/15371247.html

如果有問題可以在下方評論或者email:[email protected]