2018年9月18日 星期二

Path of Exile 逆向分析研究 - 附近怪物的遍歷

在研究遊戲自動化的程式,除了分析地形的碰撞偵測之外,就是怪物的探測貴為重要,本篇主要以分析怪物的遍歷為主軸,並印出怪物的物件位址和名稱。





怪物的搜尋其實就是使用簡單的二元樹搜尋的遍歷,只要找到相關區塊,並且把附近的怪物找出來就不是什麼難題了。

1. 要開始遍歷前,要透過 [esi+0x314],找出二元樹結構的初始值因此就需要知道esi的靜態值。

2. 從 [eax+0x14] 取出的結構值,再加上 0x4 的偏移,就是物件的基址 (要找出怪物的物件,需要知道怪物的形態值)。

附近怪物的遍歷結果。