作者flingcould (載雨拾乘三)
看板Emulator
標題Re: [心得] 簡單來談談BizHawk記憶體修改程式
時間Thu Mar 27 23:38:40 2025
今天來實作模糊搜尋
實作前先來說明一下
先確定你要找的未知數是定值,但,你無法用精準搜尋找出來
可能是血條,可能是未顯示的參數,可能是時間,而這個未知
數可能是有跡可循,只是我們不知道它的起始值與變動值
我建議要練手先找有金手指位址的遊戲來練習,這樣才好控制
變數,你才知道自己的操作有沒有做錯,有沒有脫靶不小心排
除掉目標位址
流程不外乎先暫停→搜「等於來定起始值」→解除暫停回遊戲
產生變動值→按暫停→切換大於或小於按搜尋→解除暫停回遊
戲產生變動值→按暫停→切換大於或小於按搜尋→位址剩下個
位數位址→邊玩遊戲邊判斷剩餘位址是否有連動?是否是你要
的位址?
失敗就流程再來過
判斷是否是正確位址有時需要大膽修改數值或直接鎖定凍結
鍵盤的Pause鍵預設就是BizHawk的暫停,按它會畫面凍結連
遊戲時間值都會停止,如果小遊戲有需要按暫停,解除暫停當
然就是再按一次,你也可以改熱鍵指定手把未使用按鍵作為即
時暫停來用相當節省時間
請注意底下每一張截圖都是在暫停狀態,去挨打是一定解暫停
再挨打再暫停再進行截圖,以防你沒注意到我必須先說明清楚
實作開始
https://imgur.com/SNCDtvc
https://imgur.com/QmGjbCz
還記得46億年HP用10進位或16進位精準搜尋搜不到嗎?今天
模糊搜尋實作就拿它來一步一步操作,看需要多少次完成
上面兩張圖是起始狀態,HP:20/20
我們先來看看精準搜尋20
https://imgur.com/dyTEI4o
先來挨第一下傷害-2,HP:18/20
https://imgur.com/Upt2L95
我們再來搜18,果然搜不到
https://imgur.com/sFNpNla
沒關係,我們清掉按NEW,流程重來先設好不指定數值、10進
位、1BYTE,正式來模糊搜尋
https://imgur.com/dNXqBVJ
上面圖是按NEW之後我正常會用等於起手排除變動值位址,不
過,這次我起始值想用大於零起手
https://imgur.com/QFTRJvI
目前我們狀態是,HP:18/20,再來我們會再挨一下
https://imgur.com/Png33vv
傷害-2,HP:16/20,再來我們會搜小於
https://imgur.com/5imOpYw
再來我們會再挨一下傷害-2,HP:14/20
https://imgur.com/md2fwtX
再來我們會搜小於
https://imgur.com/Za4H4IU
再來我們會再挨一下傷害-1,HP:13/20
https://imgur.com/w5dGUjQ
再來我們會搜小於
https://imgur.com/7mwU8A9
再來我們會再挨一下傷害-1,HP:12/20
https://imgur.com/s4FIfQE
再來我們會搜小於
https://imgur.com/b5URBZQ
再來我們會再挨一下傷害-1,HP:11/20
https://imgur.com/U1a4fab
再來我們會搜小於
https://imgur.com/WdN5t0Z
再來我們會再挨一下傷害-2,HP:9/20
https://imgur.com/k8vzi0f
再來我們會搜小於
https://imgur.com/SOjZp5U
再來我們會再挨一下傷害-2,HP:7/20
https://imgur.com/XEXlgWG
再來我們會搜小於
https://imgur.com/cHMBFCK
再來我們會再挨幾下傷害-5,HP:2/20
https://imgur.com/JMVrvCP
再來我們會搜小於
https://imgur.com/BF0tX45
到了這裡位址剩一個,HP:2/20
正常到了這一步就算接近收工了,剩下就是觀察數值變動,再三
確認,這個位址你可以鎖定起來,也可以回遊戲做變動,或者大
膽修改數值反覆回遊戲查看,再來確認一下是否是我們找的目標
位址?
這裡我選擇回遊戲咬死怪,吃掉肉補血來確認
吃肉補血+2,HP:4/20
https://imgur.com/aCgKRQ3
再來我們看位址數值變化,數值:4
https://imgur.com/vKN69DH
到了這裡我們再比對金手指表單,果然位址相符
00C5
https://imgur.com/HfaFF3e
最後就是自己判斷它這個位址變化趨勢,一般我會複製兩組同一
位址,一個1BYTE10進位,一個1BYTE16進位
道具數量正常不會超過255,1BYTE很夠用了
HP多半不會超過65535,2BYTE很夠用了
金錢、經驗原則上大概是2BYTE到4BYTE之間
另外,搜尋時本來就會暫停,不過,事先精確暫停比較不會出意
外,小心駛得萬年船,加油!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.235.24.124 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Emulator/M.1743089929.A.6EC.html
※ 編輯: flingcould (182.235.24.124 臺灣), 03/28/2025 00:01:17
※ 編輯: flingcould (182.235.24.124 臺灣), 03/28/2025 00:12:43
※ 編輯: flingcould (182.235.24.124 臺灣), 03/28/2025 00:18:41
1F:推 if4: 推一個 XD 03/28 07:02
2F:推 tinyfan: 心得就給推 03/28 16:19
3F:推 if4: f大 模糊有搜浮點數的嗎 以前聽說有經驗 生命用浮點數別款遊 03/28 22:44
4F:→ if4: 戲 03/28 22:45
5F:→ flingcould: 問得很好,我從1.8版玩到2.10版沒遇到改浮點數……沒 03/29 08:47
6F:→ flingcould: 印象,而且,抓得到的金手指好像都是整數的,我不清 03/29 08:47
7F:→ flingcould: 楚 03/29 08:47
8F:推 if4: 好的,謝謝 XD 03/29 19:35
9F:推 if4: 這就是BH好的地方 以前要在cheat engine或GM9來搜很麻煩 現在 04/01 11:35
10F:→ if4: 都一體包了 很方便 XD 04/01 11:36