1.口袋西游人物属性(01)

突破口[人物血量]
操作思路:先尝试四字节扫描精确血量值,想办法改变血量[1.打怪2.换装备] 没扫描到考虑用二字节,单字节
操作步骤:
1.精确血量扫描
1.口袋西游人物属性(01)
2.切换装备 扫描出来两个 [当前血量/最大血量]
1.口袋西游人物属性(01)

3.不确定哪个是当前血量? 很简单,(1).切换装备在CE中看数据,数据慢慢变动到最大值就是当前血量
(2).修改里面的值,可以看到效果[采用方法二定位]
1.口袋西游人物属性(01)
以上可知
261E2FA0 // 人物当前血量
261E2FF4 // 人物最大血量
4.右键CE当前血地址,谁访问了改地址,如图所示
1.口袋西游人物属性(01)
5.如图所示
1.口袋西游人物属性(01)
6.右键复制
1.口袋西游人物属性(01)
EAX=00D42718
EBX=00000000
ECX=00000104
EDX=00000168
ESI=12C0CB48
EDI=261E2D18
EBP=755BE87C
ESP=2B4EF874
EIP=0051C2C1
指针基址可能是 =261E2D18
0051C2B2 - call dword ptr [edx+44]
0051C2B5 - mov ecx,[edi+000002DC]
0051C2BB - mov edx,[edi+00000288]<<<<<-----------------这条是核心代码
0051C2C1 - push ecx
0051C2C2 - push edx
得出公式
261E2FA0 = ,[edi+00000288] = [261E2D18+00000288]
公式成立 [261E2D18+288] =[edi+288] = [人物血量],我们需要追261E2D18来源
7.扫描地址261E2D18
1.口袋西游人物属性(01)
EAX=00000001
EBX=0000001C
ECX=00D11A50
EDX=03A625A8
ESI=2089DD00
EDI=261E2D18
EBP=00000000
ESP=2B4EFC14
EIP=004C0656

指针基址可能是 =03A625A8

004C064F - push edi
004C0650 - mov edx,[ecx+1C]
004C0653 - mov edi,[edx+28]<<<<<-----------------这条是核心代码
004C0656 - cmp edi,ebp
004C0658 - je 004C07B6
261E2D18 = [03A625A8+28]
[261E2D18+00000288] = [[03A625A8+28]+00000288] // 当前人物血量
8.扫描地址03A625A8 看见绿色地址就可以结束了
1.口袋西游人物属性(01)
[00D11A6C]=03A625A8
[261E2D18+00000288] = [[03A625A8+28]+00000288]= [[[00D11A6C]+28]+00000288]

9.最终人物血量公式如下
地址 = [[00D11A6C]+28]+288
值=[ [[00D11A6C]+28]+288]
10.验证如图所示
1.口袋西游人物属性(01)
1.口袋西游人物属性(01)
11.00D11A6C是基址,基址等于ELEMENTCLIENT.EXE+911A6C,有的游戏是动态加载模块,口袋西游是静态模块,基址不会变,其它游戏重启电脑说不定基址就变了所以 推荐基址获取方式[GetModuleHandleA+偏移]
1.口袋西游人物属性(01)
12.#define 人物基址 (DWORD)GetModuleHandleA(“ELEMENTCLIENT.EXE”) +0x911A6C //人物基址
13.如果在od中找到基址00D11A6C,怎么计算偏移呢?
1.口袋西游人物属性(01)
1.口袋西游人物属性(01)
1.口袋西游人物属性(01)
可以用计算器计算===>>> 00D11A6C - 00400000 = 911A6C

上一篇:SLSRPT销售报告


下一篇:Qt Widgets——主窗口及其主要组成部分