二.《某三國》背包遍歷
尋找物品對象
1.要找遍歷 我們需要先找到一個物品對象

2.我們可以先用數(shù)量來找 通過丟棄 我們可以很快找到金創(chuàng)藥的數(shù)量地址=0x2D3AE5D8

3.用CE給這個地址下訪問 就能找到物品對象ECX ECX=0x2D3AE5A0
4.找到對象后 我們用CE搜 哪些地址存著對象0x2D3AE5A0

5.地址比較少 給每個地址下訪問 發(fā)現(xiàn)只有 2D24C348 和 2CF54D30 有訪問代碼,接下來把這2個地址放到XDBG里下 硬件訪問斷點0x2D24C348


6.要找到這個是不是遍歷,接下來只需要在這里下斷 一直F9 看看EAX的值是不是在變,而且EAX等于其他道具的對象

7.這里EAX=2D3AEC20 ,放到內(nèi)存窗口,查看一下是否和金創(chuàng)藥的對象結(jié)構(gòu)一樣或者+38偏移是不是道具數(shù)量地址

8.驗證成功 那我們只需要找 EDI來源即可
9.EDI來源 [EBX+4A4] 然后又和[EBX+4A8]比較 我們有理由懷疑這里就是數(shù)組起始和結(jié)束放到內(nèi)存窗口查看一下 [2CF54D10+4A4]

10.那我們就找到了遍歷了,接下來只需要找EBX來源,ebx又來源上一層的ecx,如圖就是對象數(shù)組結(jié)構(gòu)

11.下斷返回

12.在上面那個call里走一遍發(fā)現(xiàn)

13.繼續(xù)找ESI來源

14.ECX又來源上層的,到這里就找到基地址了

15.現(xiàn)在我們總結(jié)下整個遍歷公式
[[[[[12D8630]+4]+C]+24]+4A4] =道具 數(shù)組首地址
[[[[[12D8630]+4]+C]+24]+4A8] =道具 數(shù)組尾地址
另外個地址是否能也能找到遍歷
1.地址0x2CF54D30,同樣下硬件訪問斷點

3.我們下端這里 一直F9也發(fā)現(xiàn)ESI也是道具對象,但是EBX每次加了4
4.發(fā)現(xiàn)下面有個循環(huán)跳上來的

5.為什么在跟A5比較呢?我們才這點道具嗎?繼續(xù)按F9 發(fā)現(xiàn)后面的對象為0 也一直在斷

6.我們有理由懷疑這是一個,全部對象的遍歷,因為上個地址找的是單純的道具遍歷,遍歷不到裝備,道具,裝備,奧義,靈魄,靈獸,甚至元神,身上穿戴的裝備,疑似類型判斷A5

7.接下來我們找EBX來源 發(fā)現(xiàn)ECX=2CF54D10 ,我們直接用上一個地址找的偏移看有沒有這個數(shù)據(jù) 或者上次找的人物屬性數(shù)據(jù)偏移 看下

8. 人物沒有

9.最后發(fā)現(xiàn)和上個遍歷的偏移差不多,那么就不用繼續(xù)找了直接用
10. [[[[12D8630]+4]+C]+24]+1C =數(shù)組首地址
11.[[[[12D8630]+4]+C]+24]+10 =數(shù)組大小

12.背包剛好17個東西 后面的對象為0
13.用第一個地址的寫的代碼遍歷,測試了下沒問題!
14.好啦,這個背包遍歷還是挺簡單的
15.感謝大家支持迪大學(xué)院285530835
16.?官網(wǎng):www.didacollege.com