一、调试过程
简单的记录下调试过程,详细的就不阐述了。
首先枚举下游戏内的所有字符串,随便找一个jass的函数名(接触过jass函数都知道),这里就随便找个StoreInteger,就可以找到以下片段:
分析下,这里有2个CALL,第一个call(7FF624565620)是获取一个对象指针,第二个call看起来就是个注册jass的,通过参数可以得到函数原型:
typedef UINT64 (WINAPI *FnRegJassFunction)(PVOID pHandle,PVOID pJassCallBack,Char *szJassName,Char *szJassParam);
二、数据结构
有了注册函数,只要继续分析下注册过程,步入函数内可以看到以下片段: