查看完整版本: 搜尋的數值超過上限(遊戲)
頁: [1]

yohow2010 發表於 2016-8-24 10:34 PM

搜尋的數值超過上限(遊戲)

各位大大你好
小弟我在完某手遊時
習慣修改BOSS的血量
但是問題來了
BOSS血量超過Dword值的上限(之前都是用DWORD找
無法搜尋
轉成16進位會說錯誤格式
也試過用浮點(float)去搜尋 搜尋不到
小弟使用GameGuardian去改
Google、百度等各大搜尋引擎都找不到相關的資料
在知名手機論壇發問也無人解答
請問各位大大有什麼方法能解決這種問題?
真的非常想要知道

可以或不行都麻煩請告訴我 謝謝各位大大囉{:11:}
(如有偏題請告知)
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

kilean 發表於 2016-10-5 09:21 AM

雖然我沒在使用遊戲修改,
但大致上可以猜猜你的問題,
搜尋記憶體,
不外乎就是整數與浮點數,
整數又分有號與無號,
基本上Dword能儲存的值很大,
如果是無號數,
十六進制範圍 = 0x00000000 ~ 0xFFFFFFFF
十進制範圍 = 0 ~ 4294967295
如果是有號數,
十六進制負數範圍 = 0x80000000 ~ 0xFFFFFFFF
十進制負數範圍 = -2147483648 ~ -1
十六進制正數範圍 = 0x00000000 ~ 0x7FFFFFFF
十進制正數範圍 = 0 ~ 2147483647
BOSS的血量破億...應該是不太會發生吧...

搜尋不到通常我推測有幾種可能
1.錯位
2.有/無號數
3.浮點
4.加密
5.其他

這又跟軟體的搜尋演算法有關了,
假設目前有20 Byte的記憶體位置,
較陽春的搜尋法,
以Byte 搜尋需要20次,
以Word搜尋需要10次,
以DWord搜尋需要5次,
較進階的搜尋法,
以Byte 搜尋需要20次,
以Word搜尋需要19次,
以DWord搜尋需要17次,
如果不知道,就看看分析時間就知道了,

舉例來說:(以下每兩個字表示1個Byte)

記憶體中的資料:
AA BB BB BB BB CC CC DD

若較陽春的搜尋法以Byte搜尋會得到
AA
BB
BB
BB
BB
CC
CC
DD
若較陽春的搜尋法以Word搜尋會得到
AABB
BBBB
BBCC
CCDD
若較陽春的搜尋法以DWord搜尋會得到
AABBBBBB
BBCCCCDD

假設BBBBBBBB是你要搜尋的資料,
但因為儲存方式的關係,導致錯位,讓你無法搜尋到。
這個可能的因素比較大,你可以先試試。
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

scottcheng 發表於 2016-11-11 07:04 PM

注意一下你的cpu 是 litten endian 還是big endian. 如果你是要 search memory, 那就要注意. 如果是轉memory 成int or long 那就不用管這個!
頁: [1]