看流星社区

 找回密码
 注册账号
查看: 2715|回复: 2

关于奇迹世界内存分析,本人的一点小经验~~~~~~~

[复制链接]

该用户从未签到

发表于 2011-3-30 08:21:27 | 显示全部楼层 |阅读模式
1.关于不能使用CE搜索的问题(调试问题目前还没解决)
    在启动游戏前使用 安博士游戏插件保护伞 等其他隐藏进程的工具将CE进程隐藏就可以了
2.关于基址的问题
    由于无法调试,所以目前想找出基址很难,但是如果你有耐心,你可以在 Memory view----Search-------Find assembly  code ,输入 mov [esi+  搜索  看到有如:mov [esi+00000256],eax 这样是并且下面也差不多的,偏移相差4的式子可以跟进去分析一下,或者搜索"用你搜索到的比如金钱地址减去每个偏移得到的地址",能搜索到的,可以继续分析
3.换位思考,抛弃调试
      你搜索几个数据可以发现地址间的关系(比如:角色名称地址:0946EDca  最大血地址0946Edf6= 角色名称地址+&2CH  当前血地址0946EDFA= 角色名称地址+&30H 等等),这游戏搜索角色名称得到的地址是最少的,当然你名字不要太简单.
            你做挂可以这样写:要求使用者输入角色名称和最大血,在内存中搜索人物名称,得到几个地址,然后用得到的每个地址+&2CH ,如果得到的值=用户输入的血数值,就确定是名称真实地址.分别加上偏移就得到其他数据
    以下是我得到的一些数据:
                  最大血地址= 角色名称地址+&2CH   
                  当前血地址= 角色名称地址+&30H  
                  最大MP/SP地址= 角色名称地址+&34H  
                  当前MP/SP地址= 角色名称地址+&38H  
                金钱地址= 角色名称地址+&3cH  

              地上物品数量地址=6D7B6C
我的地址不是每个搜索搜出来的,是通过分析内存数据得出的,这得了解内存中数据保存格式,就不多说了,大家可以通过各个搜索得出
3.更多的待续...........................

该用户从未签到

发表于 2011-3-30 08:21:56 | 显示全部楼层
这游戏的HP、MP、最大HP、最大MP,在内存中不单一处的。估计楼上找到的不是即时变化的真正地址。

该用户从未签到

发表于 2011-3-30 08:22:34 | 显示全部楼层
今日我也发现了这个问题。

我在内存搜索,发现真正有效的HP、MP、最大HP、最大MP不是放在一起的!存放形式是:
02 01 00 00 1D 01 00 00
其中 02 01 00 00 为 HP (258), 1D 01 00 00 为 MP(285)

而找到“02 01 00 00 1D 01 00 00”的地址 - &H678 是角色的名字地址

但场景转换后地址会变。(&H678的偏移值不变!)
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-14 14:23

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表