从0开始学模拟挂一找内存基址包含原理.docx

上传人:b****3 文档编号:3708929 上传时间:2022-11-24 格式:DOCX 页数:20 大小:1.45MB
下载 相关 举报
从0开始学模拟挂一找内存基址包含原理.docx_第1页
第1页 / 共20页
从0开始学模拟挂一找内存基址包含原理.docx_第2页
第2页 / 共20页
从0开始学模拟挂一找内存基址包含原理.docx_第3页
第3页 / 共20页
从0开始学模拟挂一找内存基址包含原理.docx_第4页
第4页 / 共20页
从0开始学模拟挂一找内存基址包含原理.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

从0开始学模拟挂一找内存基址包含原理.docx

《从0开始学模拟挂一找内存基址包含原理.docx》由会员分享,可在线阅读,更多相关《从0开始学模拟挂一找内存基址包含原理.docx(20页珍藏版)》请在冰豆网上搜索。

从0开始学模拟挂一找内存基址包含原理.docx

从0开始学模拟挂一找内存基址包含原理

不少兄弟一直也很想写模拟挂,但是却不知道如何下手,这里我就带大家从0学起,该如何写模拟挂。

这里我教程重点是偏向于后台运行的模拟挂。

所以向找色这些用的比较少。

其实我根本不会找色。

我习惯读内存。

其实按键精灵难的就是怎么读内存,会弄内存了,只要直接把内存地址复制到万能模板里就行了。

最近开始转学E语言写内挂,所以就把万能模板公开了,全套教程看完,你就能最短时间内写个模拟挂了(你只要把几个参数自己找到代入就行。

)。

基本上简单游大多数脚本也只有这个水平。

当然我的挂只有简单找怪打怪功能,没啥变态功能。

因为我都是自己用,没有啥让人激动游戏,可以提起我兴趣去写。

那些自动任务什么的。

汗。

你找别人吧。

基本要求:

具有高中级别的VB水平,不需要多高,知道常量,变量,什么是十进制,十六进制,以及简单流程控制if  dowhile是什么就行,还有懂得勾股定理(挂机范围时候用到)。

别说你不懂。

高中就有学。

人教版高一数学,选修

(二),这些东西我前一阵还在教,那些学生都能学额很轻松。

再不行。

自己去看书去。

三个小时就能看完。

看懂

前言:

说说本教程教学计划:

基础篇:

(一)找内存基址(红和蓝)

(二)模拟挂主框架和红蓝自动喝药

(三)读取人物和怪游戏坐标(内存式)

(四)自动找怪,又分成两次教

(1)游戏前台时候找怪

(2)游戏后台时候找怪

(五)指定范围挂机

进阶篇:

(六)破解验证码(不会汇编的不用学了)

关于学习建议:

(只适合新手,老鸟别看)

1、按键精灵图的就是省事,有现成的东西可以用,所以很多时候不需要你懂得很多原理,只要懂得在别人的插件基础上,加上自己参数,然后组合而成。

所以我在讲解过程中,我认为没必要解释的原理就不说,只要你懂得怎么套公式就行。

除非一些影响你使用的原理,我才讲解,讲的时候尽量通俗,拿生活例子举例。

有时间把每个原理都搞清楚,这时间也足够你写好一个不错的模拟挂。

其实这些要搞清楚。

光光一个C,没有个一两年的意淫和实践。

谁都不敢说自己完全入门了。

2、大家会发现我的教材大多数在讲内存地址。

因为写后台挂,基本都要用到内存地址。

知道了地址,你直接把地址复制去我发的代码里面就能直接用了,按键代码里面,我也加了解释。

当然一些代码我在前面教程里解释了干嘛用的,后面发的时候就不会再解释了。

由于我电脑上个月去某网站中毒,结果硬盘废了,所以现在我的代码都不是存货了,写教程时候临时赶的,没办法一一检测有啥毛病,所以如果有错的话,希望谅解。

能改的就自己改吧。

3、也许会打击到某些人,但是还是要说。

数学太差的人,也不用往下看我的教程了,很可能是浪费时间

4、完全没有基础的兄弟,在学习教程前。

必须自学一些必备知识。

推荐教材不是什么C语言入门,或者某某入门视频,因为里面有很多我们根本用不到的东西,要么太深,要么太浅。

建议直接拿高中的数学课本。

现在的数学课本里有两个章节专门讲入门级别的VB,学了后可以进行简单的编程,学校教这两个单元,也只半个月,每天一节,扣掉练习课时间,实际上正课时间,就5节,总共就400分钟教完,而且给学生上课还讲究一些环节,如果自学就更省了,成人3个小时应该够了。

我认为该书对于新手该掌握的东西写的不错。

这些会了,按键的入门你也就会了。

5、一定要掌握的东西有:

常量,变量,基本流程控制。

其他一些数组,书本翻翻,简单了解下就行。

游戏里用到多少,根据进度学多少。

6、我有发出来代码的,看完后不要就扔掉,要自己再写一遍,写的时候不是说把所有字母你默写一遍,我自己都不行。

而是把每行的思路整理出来。

然后每步骤用到什么代码再去查下,把自己的参量带进去。

最后写完在某些地方使用别人插件时候要注意的地方自己标注下(比方说是字符型还是什么进制的),坦白说,按键的代码,我自己也不会被,是用到什么函数,子程序,去搜索下帮助,然后把代码复制进去。

而且我有一个专门记事本,记录常用的代码格式。

找了一次后,以后再用,就去整理的资料里面找格式。

毕竟我是学数学的,没空背那么多格式和代码,没那么多时间花在计算机上。

7、“路漫漫其修远兮”,“艰难困苦玉汝于成”,"只要功夫深,铁杵磨成针"

8、如果我有发辅助工具的,杀毒软件有可能报毒。

因为写这些工具的E,很多外挂都用他写的,所以很多软件都把这个软件报毒处理,因为我都是自己用,不是拿去盈利的,没去做什么免杀处理。

而模块我只有买了一个超级模块的正版,作坊的是破解版(太贵。

买不起。

),所以我不敢保证我用的程序一定没毒。

所以下载前请自己思考清楚,如果电脑真的中毒,我不负任何责任。

好,现在开始教程。

首先,要想写挂,必须要知道游戏中的数据是多少,我们才能决定有什么操作。

所以本节课要解决的内容是---游戏一些简单的数据(红和蓝)。

对于网游而言,用的肯定是动态内存。

所以现在我们先把原理讲清楚,讲时候我尽量避免少用术语,用通俗的语言为大家解释。

有的人一直不理解为什么每次血的内存位置是变的,但是既然是变的,为什么我们又能通过固定的程序找到呢?

这里我用以下图表示,并且用一些通俗话解释

下载(172.32KB)

2009-8-514:

08

因此要找游戏的血量,关键是把路线图中红色的三个不变的数字找到,也就是基址1的地址(下面就简称基址1了),偏移量1,偏移量2。

然后根据以下公式得到血量

基址2=基址1内放的数字+偏移量1

血内存地址=基址2内放的数字+偏移量2

HP值=血内存地址内放的数字

从上面看到,每次游戏之所以血内存地址会变,关键是因为,每次启动游戏时候,基址1内的数字是不同的。

下面我们就以前两天刚公测的游戏《昆仑OL》为例,找一找血的动态内存地址。

1、首先打开CE,在设置里面尽量使用内核模式调试器

下载(65.16KB)

2009-8-514:

23

2、点击左上角的电脑图标

下载(30.68KB)

2009-8-514:

25

3、选中游戏进程,按确定

下载(29.57KB)

2009-8-514:

27

4、可以看到人物的血量是220,所以输入220,点首次搜索。

其他用默认

下载(96.37KB)

2009-8-514:

37

5、以下是搜索结果,可以看到结果很多

下载(67.21KB)

2009-8-514:

41

6、出门让怪砍,使你掉血,然后CE在扫描内型下拉框里选择减少的数值

下载(49.32KB)

2009-8-514:

44

7、搜索完发现结果很多。

下载(97.32KB)

2009-8-514:

50

8、没事我们多搜索几次,直到出现比较少的数字为止,看现在就一个地址了

下载(66.57KB)

2009-8-514:

50

9、双击找到的地址,把他加入下面的方框内

下载(63.44KB)

2009-8-514:

53

10、修改描述为1.内存地址(表示第一次游戏内找到的内存地址),右击地址,选择“查找写入该地址的代码”

下载(78.02KB)

2009-8-514:

57

11、以下是结果,并且双击找到的结果

下载(26.23KB)

2009-8-515:

00

12、然后出现如下图片,红色内行写着ecx+000001e0,这里ecx代表二级基址内放的数值,1e0代表偏移量2。

方框内是CE帮我们计算好的二级基址内的数值,我们就是需要他。

把这个数字记下啦。

通过它寻找二级基址的位置

下载(63.25KB)

2009-8-515:

13

13、点新的搜索,然后输入刚刚找到的二级基址内的数值,并且勾上前面的16进制(因为这个数据是16进制),再点击首次搜索(找找看哪个地址内的数值,满足上面这个数字),得到,如下两个结果,然后双击这两个结果,把他们加入下面的方框内。

并且添加注释第A次进游戏得到的可能二级基址。

下载(79.22KB)

2009-8-515:

21

14、二级基址只有一个,所以这两个结果只有一个是真的,(一般来说第一个是真的地址,但也不是绝对的。

碰RP的话,你也可以直接用第一)所以接下来要判断哪个才是真的二级基址。

刚刚说过,退到游戏选择人物画面再进游戏,一级基址不变,二级基址不变,但是二级基址内放的数字变了,这导致这个时候血的内存地址也变了。

所以下面要做的就是退到人物选择画面,再进入游戏,通过刚刚方法(1---13步骤),再找次二级基址,他应该和前一回找到的二级基址一样。

下面图中我描述为(B可能的二级基址)的东东,是我第二次搜索得到的可能二级基址

比较下两次进游戏得到的二级基址,只有红色的地址是没变的,说明他就是二级基址。

下载(94.08KB)

2009-8-515:

41

15、找到二级基址后,通过上图的面板你们也发现

二级基址(10822D20)  =  一级基址的数值()  +    偏移1()

所以现在我们要找一级基址的数值和偏移1.

我们说过二级基址数值只要进入正式游戏都不不会改变了,只有进入人物选择画面的时候才变,下面我们要做的就是跟踪这个二级基址,回到人物选择画面,看看是谁往这个基址内写入东东~

下载(73.72KB)

2009-8-516:

01

下载(154.2KB)

2009-8-516:

01

16、正式进入游戏后,我们发现检测到几个结果,那到底哪个才是真的呢?

我们选择红色那个,因为他有mov

下载(102.91KB)

2009-8-516:

05

17、双击这个红色,然后得到如下图。

红色那行写着eax+ecx*4,这里前面的eax代表一级基址内放的数值,ecx*4代表偏移量1。

方框内是CE帮我们计算好的一级基址内的数值,我们就是需要他。

把这个数字记下啦。

通过它寻找一级基址的位置。

同时我们发现ecx代表的是4(十六进制),4(十六进制)*4=10(十六进制)。

10就是偏移1

下载(128.72KB)

2009-8-516:

14

18、搜索一级基址内的数值10822D10,看看哪个地址内装的是他。

结果就一个

下载(59.14KB)

2009-8-516:

18

19、好了现在我们知道所有的东西了,红色部分是无论哪次进游戏都不变的。

找到他们,现在就能进行找血的内存位置了。

一级基址(012BAB94)

二级基址(10822D20)  =  一级基址的数值(10822D10)  +  偏移1(10)

血内存地址(055FCE18)=  二级基址的数值(055FCC38)  +  偏移2(1e0)

下面我们要来检验下我们得到的是否正确,思路是:

以下红色部分代表:

无论哪次进入游戏都不会变的量

基址1内放的数字=读取数据(基址1)

基址2=基址1内放的数字+偏移量1          基址2内放的数字=读取数据(基址2)

血内存地址=基址2内放的数字+偏移量2      HP值=读取数据(血内存地址)

根据以上思路,写成按键精灵的代码如下:

1.//下一行的目的是获取游戏窗口句柄。

因为下面要用到这个参数

2.Pluginjzs=Window.MousePoint()

3.//定义变量

4.VBSDimhpbasepy1py2hpjz1hpjz2

5.Rem程序开始

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

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

8.base=&H012BAB94

9.py1=&H10

10.py2=&H1e0

11.//hpjz1代表一级基址内放的数字,下一句话意思是从一级基址内的数据存入hpjz1中.顺带补充句以下所有Memory.Read32Bit得到的数据都是十六进制

12.Pluginhpjz1=Memory.Read32Bit(jzs,base)

13.//hpjz2代表二级基址内放的数字,hpjz1+py1意思是把基址1内装的数字+偏移1,得到基址2的门牌号,下一句话意思是,计算出基址2的门牌号,然后从二级基址内读入数据存入hpjz2中

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

15.//hp代表。

地球人都知道什么意思。

hpjz2+py2意思是把基址2内装的数字+偏移2,得到HP内存位置的门牌号,下一句话意思是,计算出HP内存位置的门牌号,就从HP内存地址中读入数据存入hp中

16.Pluginhp=Memory.Read32Bit(jzs,hpjz2+py2)

17.//防止HP数值不是十进制表示,所以通通给我转成十进制

18.hp=int(hp)

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

20.MessageBoxhp

复制代码

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

OK,说明我们找到的是正确的。

教程

(一)到此结束当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。

于是,我降临在了人间。

我出生在一个官僚知识分子之家,父亲在朝中做官,精读诗书,母亲知书答礼,温柔体贴,父母给我去了一个好听的名字:

李清照。

小时侯,受父母影响的我饱读诗书,聪明伶俐,在朝中享有“神童”的称号。

小时候的我天真活泼,才思敏捷,小河畔,花丛边撒满了我的诗我的笑,无可置疑,小时侯的我快乐无虑。

“兴尽晚回舟,误入藕花深处。

争渡,争渡,惊起一滩鸥鹭。

”青春的我如同一只小鸟,自由自在,没有约束,少女纯净的心灵常在朝阳小,流水也被自然洗礼,纤细的手指拈一束花,轻抛入水,随波荡漾,发髻上沾着晶莹的露水,双脚任水流轻抚。

身影轻飘而过,留下一阵清风。

可是晚年的我却生活在一片黑暗之中,家庭的衰败,社会的改变,消磨着我那柔弱的心。

我几乎对生活绝望,每天在痛苦中消磨时光,一切都好象是灰暗的。

“寻寻觅觅冷冷清清凄凄惨惨戚戚”这千古叠词句就是我当时心情的写照。

最后,香消玉殒,我在痛苦和哀怨中凄凉的死去。

在天堂里,我又见到了上帝。

上帝问我过的怎么样,我摇摇头又点点头,我的一生有欢乐也有坎坷,有笑声也有泪水,有鼎盛也有衰落。

我始终无法客观的评价我的一生。

我原以为做一个着名的人,一生应该是被欢乐荣誉所包围,可我发现我错了。

于是在下一轮回中,我选择做一个平凡的人。

我来到人间,我是一个平凡的人,我既不着名也不出众,但我拥有一切的幸福:

我有温馨的家,我有可亲可爱的同学和老师,我每天平凡而快乐的活着,这就够了。

天儿蓝蓝风儿轻轻,暖和的春风带着春的气息吹进明亮的教室,我坐在教室的窗前,望着我拥有的一切,我甜甜的笑了。

我拿起手中的笔,不禁想起曾经作诗的李清照,我虽然没有横溢的才华,但我还是拿起手中的笔,用最朴实的语言,写下了一时的感受:

人生并不总是完美的,每个人都会有不如意的地方。

这就需要我们静下心来阅读自己的人生,体会其中无尽的快乐和与众不同。

“富不读书富不久,穷不读书终究穷。

”为什么从古到今都那么看重有学识之人?

那是因为有学识之人可以为社会做出更大的贡献。

那时因为读书能给人带来快乐。

自从看了《丑小鸭》这篇童话之后,我变了,变得开朗起来,变得乐意同别人交往,变得自信了……因为我知道:

即使现在我是只“丑小鸭”,但只要有自信,总有一天我会变成“白天鹅”的,而且会是一只世界上最美丽的“白天鹅”……

我读完了这篇美丽的童话故事,深深被丑小鸭的自信和乐观所折服,并把故事讲给了外婆听,外婆也对童话带给我们的深刻道理而惊讶不已。

还吵着闹着多看几本名着。

于是我给外婆又买了几本名着故事,她起先自己读,读到不认识的字我就告诉她,如果这一面生字较多,我就读给她听整个一面。

渐渐的,自己的语文阅读能力也提高了不少,与此同时我也发现一个人读书的乐趣远不及两个人读的乐趣大,而两个人读书的乐趣远不及全家一起读的乐趣大。

于是,我便发展“业务”带动全家一起读书……现在,每每遇到好书大家也不分男女老少都一拥而上,争先恐后“抢书”,当我说起我最小应该让我的时候,却没有人搭理我。

最后还把书给撕坏了,我生气地哭了,妈妈一边安慰我一边对外婆说:

“孩子小,应该让着点。

”外婆却不服气的说:

“我这一把年纪的了,怎么没人让我呀?

”大家人你一言我一语,谁也不肯相让……读书让我明白了善恶美丑、悲欢离合,读一本好书,犹如同智者谈心、谈理想,教你辨别善恶,教你弘扬正义。

读一本好书,如品一杯香茶,余香缭绕。

读一本好书,能使人心灵得到净化。

书是我的老师,把知识传递给了我;书是我的伙伴,跟我诉说心里话;书是一把钥匙,给我敞开了知识的大门;书更是一艘不会沉的船,引领我航行在人生的长河中。

其实读书的真真乐趣也就在于此处,不是一个人闷头苦读书;也不是读到好处不与他人分享,独自品位;更不是一个人如痴如醉地沉浸在书的海洋中不能自拔。

而是懂得与朋友,家人一起分享其中的乐趣。

这才是读书真正之乐趣呢!

这所有的一切,不正是我从书中受到的教益吗?

我阅读,故我美丽;我思考,故我存在。

我从内心深处真切地感到:

我从读书中受到了教益。

当看见有些同学宁可买玩具亦不肯买书时,我便想到培根所说的话:

“世界上最庸俗的人是不读书的人,最吝啬的人是不买书的人,最可怜的人是与书无缘的人。

”许许多多的作家、伟人都十分喜欢看书,例如毛泽东主席,他半边床上都是书,一读起书来便进入忘我的境界。

书是我生活中的好朋友,是我人生道路上的航标,读书,读好书,是我无怨无悔的追求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1