看流星社区

 找回密码
 注册账号
查看: 4605|回复: 4

雨夜版主,通过遍历工具找出怪物的相关偏移,易语言读取老是-1.

[复制链接]

该用户从未签到

发表于 2012-3-11 10:53:07 | 显示全部楼层 |阅读模式
看了完美国际里面的23课教程:通过遍历工具找出怪物的相关偏移,按方法,我已经找出来了。我玩的是《完美世界》国内的版本。
找到的怪物地址与偏移:[[[[[[00A91F3C]+1C]+08]+24]+50]+E*4]

[[[[[[00A91F3C]+1C]+08]+24]+50]+E*4]
E*4=38(这里是十六进制相剩吧?)

+4  怪物标志
+12C   怪物当前血值
+168   怪物最大血

在CE里面添加指针:
1.png
得出当前选中怪物的血值是:19285
2.png
为了证实正确性,手动在CE修改怪物血值为:1
3.png
这时,游戏中当前选中怪的血条相应的发生了变化:
4.png
=================================
以上说明,基址跟偏移完全正确,可是我在易语言里,就是读不出数据:
你例程里面的:基地址 = 内存_读代码 (进程句柄, “A51140+1C+1c+28+18”)
我用的不是究极模块,所以我的代码如下:
基地址 = 读内存代码 (游戏进程ID, “00a91f3c+1c+8+24+50+38+4”)'这里之所以填“38”,是E*4得出来的结果,并表示,当前选中的怪物是一直存在的,后面+4就是怪物标志偏移
调试输出 (基地址)
运行,调试输出一直为:-1
--------------------------------------
子程序名:读内存代码
    读内存整数型,如果表达式无效或地址无效返回-1
    返回值类型:整数型
    参数<1>的名称为“进程ID”,类型为“整数型”。注明:(进程ID为-1时,表示读写自进程内存)。
    参数<2>的名称为“地址表达式”,类型为“文本型”。
========================================
问:是我哪里出错了?读不出来怪物标志?血值也同样试过,一直输出为:-1
注:游戏角色血值及蓝值、坐标、等级及名称都能正常读取。

该用户从未签到

发表于 2012-3-11 11:19:57 | 显示全部楼层
你的问题我已看完,我帮你分析一下。
基址+偏移通过CE已经核对正确,那么这个就不需要担心。
问题是出在这里  读内存代码()
基地址 = 读内存代码 (游戏进程ID, “00a91f3c+1c+8+24+50+38+4”)
我看了一个该命令第一个参数是进程ID,那么首先你可以先去核对一下,获取的进程ID是否正确。
如果正确再看看地址表达式是否格式填写错误。
那么,如果两个参数都填写正确,那么就有可能是 读内存代码()这个命令有问题了。
我在这里说明一下  进程ID 与 进程句柄 是不同的,所以在这里不要填写错了。
你先去检查一下,如果还有什么问题,请到这帖回复。

该用户从未签到

 楼主| 发表于 2012-3-11 17:53:02 | 显示全部楼层
谢谢,问题已经解决了,原来是:读内存代码()这个命令有问题。重新写过就正常了。

该用户从未签到

发表于 2013-9-28 12:00:50 | 显示全部楼层
走自己的路,让别人打车去吧.  ▓
水至清则无鱼,人至贱则无敌!
  • TA的每日心情
    开心
    2022-10-22 19:15
  • 发表于 2022-3-3 12:31:26 | 显示全部楼层
    myadmin 发表于 2012-3-11 17:53
    谢谢,问题已经解决了,原来是:读内存代码()这个命令有问题。重新写过就正常了。

    重新写的是什么
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

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

    GMT+8, 2024-4-27 03:47

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

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