<<完美国际>>,游戏发布号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个数据 龙龙遍历才正确
只添加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
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{}
买{}
卖{}

全修{}
//
 
                    
                

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号