<天龙八部3>技能二叉树分析方法
ce修改某个技能名称 得到地址 od下断,分析堆栈 返回到game领空发现ecx的值就是技能名称 下面就是跟踪ecx的值
*******************************************************************************************
###第一层跟踪
005FAB15 8B48 0C mov ecx,dword ptr ds:
005FAB12 8B46 04 mov eax,dword ptr ds:
[+0xC]
esi=eax
00607AB3 FF52 28 call dword ptr ds:
入call找eax
*******************************************************************************************
###第二层跟踪
004B3999 83C0 10 add eax,0x10
004B3974 8B45 F0 mov eax,dword ptr ss:
==edx
入call找edx
*******************************************************************************************
###第三层跟踪
004B201A 8BD0 mov edx,eax
004B1FF7 8B42 04 mov eax,dword ptr ds:
004B1FF4 8B51 04 mov edx,dword ptr ds:
[+0x4]
004B3969 8D8B 4C250000 lea ecx,dword ptr ds:
[[+0x4]+0x4]
004B395E 8B5B 04 mov ebx,dword ptr ds:
[[[+0x254C]+0x4]+0x4]
004B380C 8BD9 mov ebx,ecx
[[[+0x254C]+0x4]+0x4]
004F9B81 8BC8 mov ecx,eax
[[[+0x254C]+0x4]+0x4]
004F9B70 8B80 DC010000 mov eax,dword ptr ds:
[[[[+0x4]+0x254C]+0x4]+0x4]
004F9B69 8B40 70 mov eax,dword ptr ds:
[[[[[+0x1DC]+0x4]+0x254C]+0x4]+0x4]
004F9B60 A1 D85C9100 mov eax,dword ptr ds:
由上面整理得
dd [[[[[[[+70]+1dc]+4]+0x254c+4]+4]+10+4]+C] 树干没有遍历子树
*********分析二叉树**********************************************************************************
其中二叉树地址
004B1FF0 55 push ebp
判断标识[左右树]+0x250则有数据 非0没有数据
004B1FFB 8A58 25 mov bl,byte ptr ds:
技能ID[左右树]+0xC
004B2010 3970 0C cmp dword ptr ds:,esi
******************************************************************************************
树顶 [[[[[+70]+1dc]+4]+0x254c+4]+4]
标识 [[[[[+70]+1dc]+4]+0x254c+4]+4]+0x250则有数据 非0没有数据
左树 [[[[[+70]+1dc]+4]+0x254c+4]+4]+0.......
右树 [[[[[+70]+1dc]+4]+0x254c+4]+4]+8.......
名称 [[[左树]+10+4]+C] 或 [[[右树]+10+4]+C]
dd [[[[[[[[+70]+1dc]+4]+0x254c+4]+4]+8]+10+4]+C] 楼主加我企鹅 我也研究天龙八部 897776710
页:
[1]