作者SuicideIwin () => print("Hello")
看板Marginalman
標題[技巧] 昨晚修改 H-Game 存檔的過程
時間Thu Jun 22 20:43:20 2023
昨天晚上抓了一款 H-Game 的體驗版,叫做「ダンジョン&ブライド」
我當下很想打手槍,但是需要遊戲裡的貨幣才能看到色的
我又不想去農,所以腦子就動到了修改上
覺得這個過程蠻有趣的,當作留個 know-how
## 1. 找出存檔
---
正常來說遊戲存檔的時候,會需要在本機某個地方寫入檔案
而寫入的內容當然就是遊戲的進度,
金錢、物品也就包含在這種檔案裏面
所以我們第一個要找到的就是存檔的檔案
普遍的 RPGMAKER 的存檔格式固定,甚至網路上有免費網頁工具可以直接讀寫內容
不過這款用的引擎是 KIRIKIRI,通常電子小說比較常見
幸好它的存檔就放在遊戲目錄的 savedata 資料夾底下,
所以很快就找到檔案
https://i.imgur.com/OCpvJdR.png
## 2. 找出你的存檔
---
對玩家來說可能只是存檔一次
遊戲在背後可能是存到許多不同檔案,就像這個案例
所以存檔時,建議記得存檔那瞬間的時間,
然後對照目錄中的檔案的修改時間去確認哪些有被改動
https://i.imgur.com/SAIfWtd.png
當我存到遊戲中第三格的時候,有這些檔案被改動了
bmp 檔以圖片瀏覽程式打開是截圖
而 ksd 檔則類似 json 格式
## 3. 找出包含你要的數值的檔案
---
經過確認,三個 ksd 檔是類似跨存檔共用的數值
像是音量等等的
所以最後還沒確認的是 bmp 檔
用 vscode 打開,發現在圖片資訊底下藏著與 ksd 類似的可讀結構
https://i.imgur.com/wu8kHk5.png
## 4. 動工修改
---
https://i.imgur.com/q9ljG1R.png
因為文字寫入遵照每個字元中間安插一個看似空白字元的邏輯
很快就用 Ctrl+F 找到了 gold 的所在地點,
也透過數字確認是當下遊戲中所持金幣量
改完數字後存檔,打開遊戲
恭喜 存檔損壞
因為這是個 .bmp
記事本前面的亂碼就是記事本無法正常讀寫的現象
## 5. Hex
---
這種時候就突然想到以前寫專案的時候
客戶給的 DB table 匯出 excel 裡面藏了一堆白爛的字元
當時的老大們用 Hex Editor 去解決
我就上網抓了一個免費的來用
https://mh-nexus.de/en/hxd/
打開之後長這樣
https://i.imgur.com/E2jODl2.png
所以我們知道中間空白字元其實不是空白,眼前的黑也不是黑
而是 \00
這個字元有點麻煩的是,在 windows 的輸入框中似乎無法正常使用
https://i.imgur.com/Bz8rwd2.png
至少在 HxD 中,這樣去搜尋會報錯
所以只好用左邊那一排 16 進位去查,因為這邊可以用 00 來做表示,
就可以打在搜尋框裡面了
把 gold 翻成 16 進位
https://i.imgur.com/tn5Izu4.png
每個字元之間安插進 00
https://i.imgur.com/SDhgUd1.png
https://i.imgur.com/mLrSEbC.png
順利找到位置,可以修改了
改完後存檔進遊戲,修改成功,打手槍
可以發現這個其實也沒有多做什麼加密
可是會讓修改起來比較麻煩
中間安插 00 的做法蠻機巴的
整個改完之後覺得過程蠻有趣的
分享給大家
好東西要分享給好朋友
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.112.51 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Marginalman/M.1687437802.A.B85.html
2F:→ ririoshi: 瘋狂打 06/22 20:46
3F:推 MurasakiSion: 我好想你 06/22 20:46
4F:推 diefish5566: 這款作者什麼都好 就是進度超慢 06/22 20:47
※ 編輯: SuicideIwin (36.225.112.51 臺灣), 06/22/2023 20:49:14
5F:→ ryanyee: 自殺哥欸 好久不見== 06/22 20:50
6F:推 HibikiKai: 邊板神社召喚大成功 06/22 20:50
7F:推 Benson765421: 大師 06/22 20:51
8F:推 PogChampLUL: 漬鯊哥強勢回歸 06/22 20:53
9F:→ forsakesheep: 我都用notepad++去改 06/22 20:54
10F:推 KsonPjk4ever: 終於回來惹 06/22 20:55
11F:推 medama: 哇 回來了 06/22 20:56
12F:→ kinomon: 哇哇哇 06/22 20:58
13F:推 Ishtarasuka: 真假 06/22 21:05
14F:推 pchooooome: :OOOO 回來了 06/22 21:17
15F:推 Endolu110: :OO 06/22 21:18
16F:推 oin1104: 安安 06/22 21:19
17F:→ pttfatman: 你回來了 06/22 21:35
18F:推 Mikotosama: 痛哭流涕 06/22 21:38
19F:推 rayccccc: 漬鯊哥我愛你 06/22 22:30
20F:推 heterologic: :OOOOO 06/22 23:04