[技巧] 昨晚修改 H-Game 存檔的過程

看板Marginalman作者 () => print("Hello")時間1年前 (2023/06/22 20:43), 1年前編輯推噓14(1406)
留言20則, 20人參與, 1年前最新討論串1/1
昨天晚上抓了一款 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://www.ptt.cc/bbs/Marginalman/M.1687437802.A.B85.html

06/22 20:45, 1年前 , 1F
06/22 20:45, 1F

06/22 20:46, 1年前 , 2F
瘋狂打
06/22 20:46, 2F

06/22 20:46, 1年前 , 3F
我好想你
06/22 20:46, 3F

06/22 20:47, 1年前 , 4F
這款作者什麼都好 就是進度超慢
06/22 20:47, 4F
※ 編輯: SuicideIwin (36.225.112.51 臺灣), 06/22/2023 20:49:14

06/22 20:50, 1年前 , 5F
自殺哥欸 好久不見==
06/22 20:50, 5F

06/22 20:50, 1年前 , 6F
邊板神社召喚大成功
06/22 20:50, 6F

06/22 20:51, 1年前 , 7F
大師
06/22 20:51, 7F

06/22 20:53, 1年前 , 8F
漬鯊哥強勢回歸
06/22 20:53, 8F

06/22 20:54, 1年前 , 9F
我都用notepad++去改
06/22 20:54, 9F

06/22 20:55, 1年前 , 10F
終於回來惹
06/22 20:55, 10F

06/22 20:56, 1年前 , 11F
哇 回來了
06/22 20:56, 11F

06/22 20:58, 1年前 , 12F
哇哇哇
06/22 20:58, 12F

06/22 21:05, 1年前 , 13F
真假
06/22 21:05, 13F

06/22 21:17, 1年前 , 14F
:OOOO 回來了
06/22 21:17, 14F

06/22 21:18, 1年前 , 15F
:OO
06/22 21:18, 15F

06/22 21:19, 1年前 , 16F
安安
06/22 21:19, 16F

06/22 21:35, 1年前 , 17F
你回來了
06/22 21:35, 17F

06/22 21:38, 1年前 , 18F
痛哭流涕
06/22 21:38, 18F

06/22 22:30, 1年前 , 19F
漬鯊哥我愛你
06/22 22:30, 19F

06/22 23:04, 1年前 , 20F
:OOOOO
06/22 23:04, 20F
文章代碼(AID): #1ab47gk5 (Marginalman)