按键精灵 找内存基址

发布时间 : 星期四 文章按键精灵 找内存基址更新完毕开始阅读

1. //下一行的目的是获取游戏窗口句柄。。因为下面要用到这个参数

2.

Plugin jzs=Window.MousePoint()

3.

4.

//定义变量

VBS Dim hp base py1 py2 hpjz1 hpjz2

5.

Rem 程序开始

6.

7.

//base,py1,py2 分别表示一级基址的门牌号,偏移1,偏移2

//自己修改,下面的三个参数为你自己的,你就能直接得到你自己游戏的血量多少,请注意所有十六进制的数字前都要加上&H,这样电脑才知道你输入的数字是十六进制的,不然像第二行的py2

不加&H就变成十进制的10,实际上十六进制的10代表的是十进制的16

8.

base=&H012BAB94 9.

py1=&H10

10. py2=&H1e0

11. //hpjz1代表 一级基址内放的数字,下一句话意思是从一级基址内的数据存入hpjz1中.顺带

补充句以下所有Memory.Read32Bit得到的数据都是十六进制 12. Plugin hpjz1=Memory.Read32Bit(jzs,base)

13. //hpjz2代表二级基址内放的数字,hpjz1+py1意思是把基址1内装的数字+偏移1,得到基

址2的门牌号,下一句话意思是,计算出基址2的门牌号,然后从二级基址内读入数据存入hpjz2

14. Plugin hpjz2=Memory.Read32Bit(jzs,hpjz1+py1)

15. //hp代表。。。地球人都知道什么意思。。。hpjz2+py2意思是把基址2内装的数字+偏移2,

得到HP内存位置的门牌号,下一句话意思是,计算出HP内存位置的门牌号,就从HP内存地址中

读入数据存入hp中

16. Plugin hp=Memory.Read32Bit(jzs,hpjz2+py2) 17. //防止HP数值不是十进制表示,所以通通给我转成十进制

18. hp=int(hp)

19. //弹出HP是多少的信息框

20. MessageBox hp

复制代码

接着完全关闭游戏,重新登陆,运行脚本看看读取到的血量是多少:

OK,说明我们找到的是正确的。教程(一)到此结束。额。。这个再看不懂的话。。我就米办法了饿。顺带给几个别人写的图文找基址的攻略。。

正式开始教程(二)

在我的上一篇帖子-------从0开始学模拟挂(一)--找内存基址,包含原理, 我给出了内存基址的一些概念,以及找的思路。如果你对这些

还懂,建议你可以先看看教程(一)

基本原理就是:

以下红色部分代表:无论哪次进入游戏都不会变的量

一级基址( )

二级基址( ) = 一级基址的数值() + 偏移1() 血内存地址() = 二级基址的数值() + 偏移2()

更一般点应该是这样:

1.

其中一级基址和 所有的偏移,对于一个游戏而言是固定的。

2. 3.

4. 5.

6. 7. 8.

一级基址( )

二级基址( ) = 一级基址的数值() + 偏移1() 三级基址( ) = 二级基址的数值() + 偏移2()

. 。 。 . 。 。 . 。 。 9.

n级基址( ) = n-1级基址的数值() + 偏移n-1()

10. 血内存地址() = n级基址的数值() + 偏移n()

11. HP=读内存(血内存地址)

复制代码

用教程一的方法,有的人会发现,他不能返回到人物选择画面,导致无法获取一级基址。有的时候用方法(一),其实郁闷点会连二级基址都找不到。就像我最近玩的这个8.12就要公测的网游《蜀门》,用方法

(一)出现了如下的问题

发现搜索不到二级基址

这个时候我们就可以改用方法(二)

1、在找到内存地址后,选择扫描此地址的指针(图中P>18272BD0是我已经找到的基址,后

面会教大家,如果找到他)

联系合同范文客服:xxxxx#qq.com(#替换为@)