<<完美国际>>,游戏发布号945
<<完美国际>>,游戏发布号945
人物信息
ID |
变量名 |
对象属性名 |
偏移值 |
结果显示 |
数值 |
说明 |
查找数据的方法 |
||||
人物的属性值的结果 =[[[B3F6CC]+1C]+34]+偏移值 |
[角色对象地址]+偏移值 |
CE |
|||||||||
1 |
name |
名称 |
[+5FC]+0 |
hi |
unicode |
龙龙内存遍历 |
|||||
2 |
hpMin |
最小红 |
+494 |
2715 |
CE |
||||||
3 |
hpMax |
最大红 |
+4DC |
2715 |
结构化内存监视器 |
||||||
4 |
mpMin |
最小蓝 |
+498 |
1639 |
结构化内存监视器 |
||||||
5 |
mpMax |
最大蓝 |
+4E0 |
1639 |
结构化内存监视器 |
||||||
6 |
spirit |
元气最小值 |
+4A8 |
40 |
写出现等到 坐标计算的过程 (推导过程) |
结构化内存监视器 |
|||||
7 |
objId |
目标ID |
+bd4 |
||||||||
8 |
id |
角色ID号 |
+460 |
8164304 |
通过目标ID查找从结构化内存监视器找到 |
结构化内存监视器 |
|||||
9 |
level |
等级 |
+48C |
89 |
坐标的结果可能为负数 |
结构化内存监视器 |
|||||
10 |
posX |
主角坐标X |
+3C |
486.9989929 |
坐标X 取整(坐标/10)+400 |
结构化内存监视器 |
|||||
11 |
posY |
主角坐标Y |
+44 |
3239.123047 |
坐标Y 取整(坐标/10)+550 |
结构化内存监视器 |
|||||
12 |
posZ |
主角坐标Z |
+40 |
259.0107117 |
坐标Z 取整(坐标/10) |
结构化内存监视器 |
|||||
33 |
IsGameRetn |
是否在游戏当中 |
00A94364(快),00A946E0 |
//基址 |
=1 人物在游戏当中 ; >=0人物在角色选择界面 |
找绿色基址,只要基址 |
|||||
34 |
武器耐久度 |
||||||||||
掉线报警 |
与服务器连接已断开请重新连接 |
||||||||||
30 |
是否在线 |
B4E964 |
弹与服务器已断开链接 搜索 0 (用断开网络连接 或拔网线);人物在游戏里面 搜索 3 |
||||||||
31 |
|||||||||||
32 |
|||||||||||
13 |
XiuZhenQi |
修真期 |
+44C |
32 |
修真期 |
||||||
14 |
vocation |
职业ID |
+5D4 |
[[[B3F6CC]+1C]+20]+5D4 |
0 |
0=武侠 1=法师 3=妖精4=妖兽 6=羽茫 7=羽灵 |
结构化内存监视器 |
||||
20 |
state |
状态 |
+610 |
[[[B3F6CC]+1C]+20]+610 |
0 |
{0->地上,128->水里,64->天上} |
OD 飞行CALL的上面1偏移 |
||||
21 |
LeftPoints |
剩余点数 |
+460 |
[[[B3F6CC]+1C]+20]+460 |
5 |
结构化内存监视器 |
|||||
22 |
TiZhi |
体质 |
+4A0 |
[[[B3F6CC]+1C]+20]+4A0 |
5 |
结构化内存监视器 |
|||||
23 |
LingLi |
灵力 |
+4A4 |
[[[B3F6CC]+1C]+20]+4A4 |
5 |
结构化内存监视器 |
|||||
24 |
LiLiang |
力量 |
+4A8 |
[[[B3F6CC]+1C]+20]+4A8 |
295 |
结构化内存监视器 |
|||||
25 |
MinJie |
敏捷 |
+4AC |
[[[B3F6CC]+1C]+20]+4AC |
150 |
||||||
26 |
faction |
帮派名称 |
|
||||||||
27 |
wife |
配偶名称 |
|
||||||||
28 |
sex |
性别 |
|
假设 男 0 ;女 1 |
|||||||
29 |
MapName |
地图名称 |
|
||||||||
修真期
0 = 筑基 8 = 大乘
1 = 灵虚 20 = 上仙
3 = 合和 21 = 真仙
4 = 空冥 22 = 天仙
5 = 履霜 30 = 狂魔
6 = 渡劫 31 = 魔圣
7 = 寂灭 32 = 魔尊
包裹信息
ID |
变量名 |
属性名 |
偏移值 |
结果显示 [包裹物品对象地址]+偏移 |
数值 |
说明 |
查找数据的方法 |
||||
物品的属性值 = [[[[[[B3F6CC]+1C]+34]+d18]+c]+EBP*4]+偏移值 |
包裹格子ID->EBX*4=0 |
第1格子=0,第2格子=1,...,第n格子=n-1 |
CE |
||||||||
1 |
packAmount |
包裹格子数量 |
+10 |
[[[[B3F6CC]+1C]+34]+d18]+10 |
32 |
结构化内存监视器 |
|||||
2 |
name |
名称 |
[+54]+C |
[[[[[[[B3F6CC]+1C]+34]+d18]+C]+0*4]+4]+C |
完美金创药 |
不同的物品偏移 不一样 红蓝药品类的 |
龙龙内存遍历 |
||||
3 |
Goodstype |
物品种类 |
+4 |
[[[[[[B3F6CC]+1C]+34]+d18]+C]+0*4]+4 |
9 |
7->飞机类 9->药品类的 15->武器类 |
结构化内存监视器 |
||||
4 |
id |
物品ID号 |
+8 |
[[[[[[B3F6CC]+1C]+34]+d18]+C]+0*4]+8 |
21AD |
结构化内存监视器 |
|||||
5 |
amount |
物品数量 |
+10 |
[[[[[[B3F6CC]+1C]+34]+d18]+C]+0*4]+10 |
84 |
CE |
|||||
6 |
HaveObj |
包裹格子是否有对象 |
[[[[[B3F6CC]+1C]+34]+d18]+C]+0*4 |
162363632 |
=0->格子空 ≠0->有对象 |
结构化内存监视器 |
|||||
1 |
包裹物品名称偏移
分类=[0,3] 物品名称[+DC]+C {裁缝物品 ,巧匠物品 }
分类=[8,9,22] 物品名称[+54]+C {百草露,千里传音,红蓝药水 }
--------------------------------
分类=[5,10,13,16,19,20,27,31,39] 物品名称[+4C]+4 {矿铲类,27传送石 宠物食物}
分类=[15] 物品名称[+E4]+C {F武器 }
---------------------------------------------------------------
分类 偏移1 偏移2
2 C8 8
4 B0 8
6 CC C //服装
7 D0 4 //飞行器
11 C8 C //宠物技能书
17 4C 8 //石头
18 C0 4 //飞行器
26 A0 4
34 B0 4
36 B8 4
--------------------------------
地面物品信息
ID |
变量名 |
属性名 |
偏移值 |
结果显示 |
数值 |
说明 |
查找数据的方法 |
|
地面物品的属性值 = [[[[[[[B3F6CC]+1C]+1C]+28]+18]+EDX*4]+04]+偏移值 物品对象->EDX*4=38C |
CE |
|||||||
参数 |
B3F6CC->主角基址; 1C->一级偏移; 08->二级偏移;28->;18->; EDX*4->物品对象=38C |
|||||||
1 |
amount |
地面物品数量 |
+14 |
[[[[B3F6CC]+1C]+1c]+28]+14 |
13 |
把物品往地上丢看哪些数值改变 |
结构化内存 |
|
2 |
MaxAmount |
地面物品最大数组 |
+20 |
[[[[B3F6CC]+1C]+1c]+28]+20 |
769 |
结构化内存 |
||
3 |
name |
名称 |
[+168]+ 0 |
[[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+164]+0 |
砾石砂 |
每个物品对象的EDX值是唯一的 |
龙龙内存遍历 |
|
4 |
id |
物品ID号 |
+114 |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+114 |
C0C |
C11/31c9 |
结构化内存 |
|
5 |
sysId |
系统ID号 |
+110 |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+110 |
C01003E0 |
捡物CALL用到的参数 |
结构化内存 |
|
6 |
distance |
距离 |
+158 |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+158 |
2.807705164 |
+154(?+158)?15C |
CE |
|
7 |
posX |
坐标X |
+3C |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+3C |
472.28 |
坐标X 取整(坐标/10)+400 |
结构化内存 |
|
8 |
posY |
坐标Y |
+40 |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+44 |
218.94 |
坐标Y 取整(坐标/10)+550 |
结构化内存 |
|
9 |
posZ |
坐标Z |
+44 |
[[[[[[[B3F6CC]+1C]+1c]+28]+18]+768]+04]+40 |
3165.47 |
坐标Z 取整(坐标/10) |
结构化内存 |
|
[esi+1c],[edi+110],[esi+38] |
怪物信息
ID |
变量名 |
怪物属性名 |
偏移值 |
结果显示 |
数值 |
说明 |
查找数据的方法 |
|
选中的怪物的属性值 = [[[[[[[B3F6CC]+1c]+1c]+24]+18]+ebx*4]+4]+偏移值 |
EDX*4= 4fc |
每个选中怪对象的EDX值是唯一的 |
CEEDX*4->选中怪对象 |
|||||
1 |
amount |
周围怪物数量 |
+14 |
[[[[B3F6CC]+1c]+8]+24]+14 |
30 |
结构化内存监视器 |
||
2 |
amountMax |
周围怪物最大数组 |
+20 |
[[[[B3F6CC]+1c]+8]+24]+20 |
769 |
注意名称偏移在OD里怎么找到 |
结构化内存监视器 |
|
3 |
name |
名称 |
[+260]+0] |
[[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+230]+0 |
|
可能是的偏移[+348]+8] |
龙龙内存遍历 |
|
4 |
Level |
等级 |
+128 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+124 |
62 |
od |
||
5 |
id |
ID号 |
+120 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+11c |
2148537759 |
10进制 |
od |
|
6 |
hpMin |
红最小值 |
+130 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+12c |
340946 |
ce/od |
||
7 |
hpMax |
红最大值 |
+178 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+168 |
340946 |
当人与目标距离>=99时 会自动取消选中的目标 |
od |
|
8 |
distance |
距离 |
+284 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+274 |
17.92 |
+254[或+258]->找个不动的NPC查找距离 |
CE /结构化内存监视器 |
|
9 |
monsterKind |
种类 |
+B4 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+338]+4]+b4 |
6 |
6->怪物,7->NPC,9->宠物,玩家,10->GM |
结构化内存监视器 |
|
0 |
posX |
坐标X |
+3C |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+48]+4]+3C |
152.9932098 |
坐标X 取整(坐标/10)+400 |
结构化内存监视器 |
|
1 |
posY |
坐标Y |
+44 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+48]+4]+44 |
-456.0744934 |
坐标Y 取整(坐标/10)+550 |
结构化内存监视器 |
|
2 |
posZ |
坐标Z |
+40 |
[[[[[[[B3F6CC]+1c]+8]+24]+18]+48]+4]+40 |
287.4559631 |
坐标Z 取整(坐标/10) |
结构化内存监视器 |
|
不抢怪 |
怪物状态 被打 没被打 主动攻击 |
玩家信息
ID |
变量名 |
属性名 |
偏移值 |
结果显示 |
数值 |
说明 |
查找数据的方法 |
|
选中的玩家的属性值 = [[[[[[[B3F6CC]+1c]+34]+390]+18]+EDX*4]+04]+偏移值 |
玩家对象->EDX*4=594 |
[玩家对象地址]+偏移 |
CE |
|||||
1 |
amount |
周围数量 |
+14 |
[[[[B3F6CC]+1c]+34]+390]+14 |
1 |
结构化内存 |
||
2 |
amountMax |
周围玩家最大数组 |
+20 |
[[[[B3F6CC]+1c]+34]+390]+20 |
769 |
结构化内存 |
||
3 |
name |
名称 |
[+66C]+0 |
[[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+5cc]+0 |
DM刀客 |
或 [+6CC]+98 |
龙龙内存遍历 |
|
4 |
Level |
等级 |
+48C |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+46C |
131 |
每个选中玩家对象的EDX值是唯一的 |
结构化内存 |
|
5 |
id |
ID号 |
+480 |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+43C |
50 |
结构化内存 |
||
6 |
hpMin |
红最小值 |
+494 |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+450 |
43885 |
结构化内存 |
||
7 |
hpMax |
红最大值 |
+4DC |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+478 |
43885 |
结构化内存 |
||
8 |
distance |
距离 |
+7F4 |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+74C |
5.14 |
(?+704) |
结构化内存 |
|
9 |
posX |
坐标X |
+3C |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+3c |
-2821.04 |
坐标X 取整(坐标/10)+400 |
结构化内存 |
|
0 |
posY |
坐标Y |
+44 |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+44 |
3095.94 |
坐标Y 取整(坐标/10)+550 |
结构化内存 |
|
1 |
posZ |
坐标Z |
+40 |
[[[[[[[B3F6CC]+1c]+34]+390]+18]+594]+04]+40 |
379.02 |
坐标Z 取整(坐标/10) |
结构化内存 |
|
只添加2个数据 龙龙遍历才正确
技能信息
ID |
变量名 |
属性名 |
偏移值 |
[技能对象地址]+偏移 结果显示 |
数值 |
说明 |
查找数据的方法 |
||
技能的属性值 =[[[[[B3F6CC]+1C]+34]+10E8]+EDX*4]+偏移值 技能格子ID号->EDX*4 |
第1个技能为0 ,第n个为n-1 |
CE |
|||||||
1 |
skillcount |
以学技能数量 |
+10EC |
[[[B3F6CC]+1C]+34]++10EC |
24 |
到10E8技能对象附近开始找 |
结构化内存 |
||
2 |
name |
名称 |
[[[+4]+4]+10]+0 |
[[[[[[[[B3F6CC]+1C]+34]+10E8]+0*4]+4]+4]+10]+0 |
回城术 |
非unicode标准文本 |
内存遍历工具进化版 |
||
3 |
id |
ID号 |
+8 |
[[[[[B3F6CC]+1C]+34]+10E8]+1*4]+8 |
167 |
ID从技能CALL中找出的 |
结构化内存 |
||
4 |
TeaTime |
冷却时间 |
+10 |
[[[[[B3F6CC]+1C]+34]+10E8]+1*4]+10 |
442348 |
倒计时直到为0技能可以使用 |
结构化内存 |
||
施放间隔 |
1h=1(h)*60(m)*60(s)=3600000s |
结构化内存 |
|||||||
技能等级 |
|||||||||
技能状态 |
(0可用 1冷却) |
||||||||
CALL分析
//解决 游戏在登陆界面 人物在选择界面
[[基址]+1c]+20
//全修
PUSH -1
PUSH 0
PUSH 0
CALL 0060AF80
ADD ESP,0C
//修理CALL
PUSH EBP //
PUSH EAX //
PUSH 0
CALL 0060AF80
ADD ESP,0C
004F78A1 83C4 0C ADD ESP,0C
//买/卖
//打开NPC call
PUSH 80101257 //NPC ID号
CALL 0060AE40
ADD ESP,4
//ADD esp,0C 不加上去
//更换武器{
PUSH 0
PUSH 0 //EDI=00000000 武器所在包裹的位置
CALL 0060AC00
ADD ESP,8
}
//bt_func
在普通飞行CALL的上面
//bt_fly{
BT=[[[B3F6CC]+1c]+20]+65C
Bt=0 地面
BT=010 飞行 010=16
CE
人物在地面时搜索0
人物飞起来搜索 增加的数值
配合没改变的数值
}
//接受复活{
需要个可以复活的MM配合
}
//使用复活卷轴{
MOV ECX,[0A94464]
MOV ECX,[ECX+20]
LEA ECX,[ECX+0EC]
CALL 005DFD00
}
//喊话,密语{
push 0
push 1038C714 //喊话地址
push 2 {普通频道=0,世界频道=1,组队频道=2}
mov eax,[0A94464]
mov eax,[eax+20]
mov ecx,eax
CALL 005E7300
Bp send ctrl+F9返回4次
//加个死码4
}
//f1 call{
MOV EAX,[0A94464]
MOV EAX,[EAX+1C]
MOV EAX,[EAX+20]
MOV EAX,[EAX+0C3C]
MOV EAX,[EAX+0C]
MOV EAX,[EAX+0]//f1=0
MOV EDX,[EAX]
MOV ECX,EAX
CALL [EDX+8]
OD Ctrl+S定位码
//上面的JMP
ADD EBX,-3D
PUSH 0
PUSH EBX
}
//普通攻击{
PUSH -1
PUSH 0
PUSH 0
PUSH 0
MOV ECX,[0A94464]
MOV ECX,[ECX+1C]
MOV ECX,[ECX+20]
CALL 00455420
特征码
PUSH -1
PUSH 0
PUSH 0
PUSH 0
}
//技能 //注意找法 当前用之前的特征码找到的
{
MOV ECX,[0A94464]
PUSH -1
PUSH 0
MOV EDX,[ECX+1C]
PUSH 0
PUSH 051
MOV ECX,[EDX+20]
CALL 00462060
特征码
PUSH -1
PUSH 0
MOV EDX,[ECX+1C]
PUSH 0
Ctrl+F9 4次然后才可以
}
//飞行{
MOV ECX,[0A94464]
MOV ECX,[ECX+1C]
MOV ECX,[ECX+20]
CALL 00455510
POP EDI
MOV AL,1
POP ESI
RETN
MOV ECX,ESI
//向下找第12个call飞行CALL
}
//取消选怪1
{
CALL 00609C10
}
//寻路1
{
}
//走路1
[[[[[[[B3F6CC]+1c]+20]+0c4c]+30]+4]+20
175CFD78 0046C54E N臚. 返回到 elementc.0046C54E //1
175CFD90 004644A2 F. 返回到 elementc.004644A2 来自 elementc.0046C510 //yes
175CFE20 00456E2A *nE. 返回到 elementc.00456E2A 来自 elementc.00463DF0
175CFE2C 005CAEB9 巩\. 返回到 elementc.005CAEB9
175CFE38 005C358F ?\. 返回到 elementc.005C358F
175CFE8C 0043B433 3碈. 返回到 elementc.0043B433 来自 elementc.005C3510
175CFEB0 00403E94 ?@. 返回到 elementc.00403E94 来自 elementc.00404480
175CFEB8 00404D38 8M@. 返回到 elementc.00404D38
175CFEBC 0043AADF 擢C. 返回到 elementc.0043AADF 来自 elementc.0043B3B0
175CFEDC 03412D43 C-? 返回到 elementc.03412D43 来自 elementc.0094C8F0
175CFEF0 005E4EEB 隢^. 返回到 elementc.005E4EEB 来自 elementc.03412D30
175CFF00 00435E44 D^C. 返回到 elementc.00435E44 来自 elementc.0043AA10
00464326 8B8E 4C0C0000 MOV ECX,DWORD PTR DS:[ESI+C4C] ; #1{
0046432C 6A 01 PUSH 1
0046432E E8 2D7D0000 CALL elementc.0046C060 ; #1}
00464333 8BF8 MOV EDI,EAX ; #2{
00464335 8D4424 18 LEA EAX,DWORD PTR SS:[ESP+18]
00464339 50 PUSH EAX ; EAX=175CFDBC
0046433A 6A 00 PUSH 0
0046433C 8BCF MOV ECX,EDI
0046433E E8 5DB40000 CALL elementc.0046F7A0 ; #2}
00464343 8D4C24 6C LEA ECX,DWORD PTR SS:[ESP+6C] ; #3{
00464347 8D5424 60 LEA EDX,DWORD PTR SS:[ESP+60]
0046434B 51 PUSH ECX
0046434C 52 PUSH EDX
0046434D 8BCF MOV ECX,EDI
0046434F E8 8CB50000 CALL elementc.0046F8E0 ; #3}
00464490 6A 00 PUSH 0 ; #4{
00464492 6A 01 PUSH 1
00464494 57 PUSH EDI
00464495 8B8E 4C0C0000 MOV ECX,DWORD PTR DS:[ESI+C4C]
0046449B 6A 01 PUSH 1
0046449D E8 6E800000 CALL elementc.0046C510 ; #4}
3个参数
1.413041e-38
1.401298e-45
0.0
//
//v 选怪11{
MOV EAX,[0A94464]
PUSH 00A94AA8
MOV EAX,[EAX+20]
LEA ECX,[EAX+0EC]
CALL 005DFBF0
ADD ESP,4
MOV ESI,EAX
XOR EBP,EBP
CMP ESI,EBP
// 点击选怪
MOV EAX,[0A94464]
PUSH EDI
MOV ECX,[EAX+20]
ADD ECX,0EC
CALL 005DFBF0
}
//捡物1{
MOV EDX,[0A94464]
PUSH 00001F91
PUSH 0C0127BD9
MOV ECX,[EDX+20]
ADD ECX,0EC
CALL 005DFB80
}
//扔物品1{
PUSH 1
PUSH 0
CALL 0060AB30
ADD ESP,8
}
//
死亡回城1{
mov eax ,[0A94464]
mov eax,[eax+20]
lea ecx,[eax+0ec]
call 005DFCB0
}
// 吃药1{
push 1
push 21ca //药品类型
push 2 //包裹id
push 0
CALL 00609410
ADD ESP,10
}
//挖框1{
PUSH EAX; 0
PUSH ECX; ECX=00000C01 //kc
PUSH EDX; EDX=00000007//co1 packId
PUSH EAX; EAX=00000000
PUSH ECX; ECX=C0100741 //systemId
CALL 00609C90
ADD ESP,14
PUSH 0
PUSH 00000C01
PUSH 7
PUSH 0
PUSH 0C0100741
CALL 00609C90
ADD ESP,14
}
打开NPC{}
MOV EDX,DWORD PTR DS:[AA52BC] ; elementc.00AA5900
PUSH ECX
MOV ECX,DWORD PTR DS:[EDX+20]
ADD ECX,0EC
CALL 005E7C30
Ctrl+F9 返回6次
关闭NPC{}
买{}
卖{}
全修{}
//