返回列表 回复 发帖 免费斗地主赢30元充值卡

读取内存判断的方法

相关搜索: 内存, 判断
最近很多朋友常提出关于内存读取的方法,我说一下我的做法,以供大家参考。
现在的游戏,地址一般都是浮动的,每次启动地址都不同,所以,我们要找出地址的指针,指针又有一级指针、二级指针的不同,具体怎么找指针,请看具体找内存软件的说明,这里只说在se中怎么使用。
一、直接读取内存内容
当要查找内容的内存地址不变时(这种情况太幸福了,我没碰到过),一句就能解决问题

read mem DWord $00XXXXXX a  //$00XXXX 为指定地址,内容保存在变量 a 中

但我一般不这样直接使用,我会用一个函数将它包含以便方便使用,例如,地址为,则

Function gethong()
  read mem DWord $00XXXXXX result
EndFunction

这样,每次需要查询红的情况时,直接调用

  set hong=gethong()  //hong 为保存具体数据的变量

就可以了,不需要每次都记住具体地址
二、一级指针
假设我们找到了指针地址,例如时坐标,也找到了坐标的偏移量,分别设置为全局变量
var ptr=$00XXXXXX
var xoff=$17FFC
var yoff=$18000
var memx=0  //memx,memy保存具体的(x,y)的地址
var memy=0

在脚本初始化时,我们要做的是

var tmp=0  //定义一个临时变量
read mem DWord ptr tmp
set memx=tmp+xoff               //x的地址
set memy=tmp+yoff

好了,我们已经通过指针找到了具体地址,这样,除非游戏更新,否则我们不需要每次去查找内存地址了。
为了获取坐标,设置函数

sub getxy(mx,my)
   read mem DWord memx mx
   read mem DWord memy my
endsub

每次需要时,只需要调用
do getxy(x,y)
就可以了
三、二级指针
其实二级指针、三级指针方法一样,通过二的方法找出下一级指针,然后依次查找,最后找出地址。

以上我在实际应用中的做法,希望能对你有所帮助。
1

评分次数

侠义道一脚本一直没用心做商业化处理,已经做了大幅度修改,以后再说吧,现在没心情。
写得很明白,感谢分享~:)
很实用,浮出水面顶一下
得到 lokliang 回应,很高兴,你是高手啊。
侠义道一脚本一直没用心做商业化处理,已经做了大幅度修改,以后再说吧,现在没心情。
我的帖子怎么总是很少人顶,郁闷~~~
侠义道一脚本一直没用心做商业化处理,已经做了大幅度修改,以后再说吧,现在没心情。
呵呵,因为越是高深的技术,会用想用的人就越少哦,我们要尽量把高深的东西通过简单的方式表达出来,让大家都会用:)
我来顶一下吧!~~~
简单,实用!

哈哈,别老玩你的侠义道了,各种游戏都玩玩,编他十个二十个脚本,开个无人工作室,专职挂机。
夸张呀 呵呵
看不是很懂...............
返回列表