按键精灵找内存基址.docx

上传人:b****6 文档编号:9114035 上传时间:2023-02-03 格式:DOCX 页数:39 大小:2.01MB
下载 相关 举报
按键精灵找内存基址.docx_第1页
第1页 / 共39页
按键精灵找内存基址.docx_第2页
第2页 / 共39页
按键精灵找内存基址.docx_第3页
第3页 / 共39页
按键精灵找内存基址.docx_第4页
第4页 / 共39页
按键精灵找内存基址.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

按键精灵找内存基址.docx

《按键精灵找内存基址.docx》由会员分享,可在线阅读,更多相关《按键精灵找内存基址.docx(39页珍藏版)》请在冰豆网上搜索。

按键精灵找内存基址.docx

按键精灵找内存基址

有人问怎么自动加血,我板凳帖子里不是有了,读取血内存地址的代码了吗?

把那份代码,你用两次,第一次读取出来的数值作为最大血值,再用一次来读取,当前血量。

然后你加个判断

if当前红<最大红*设置的百分比

then喝药快捷键(有兴趣的同志可以自己用CALL)

ENdif

另外补充。

我一般很少写挂,除非是没挂的游戏(中国特色估计着是不可能的)。

都是去买,买一个月才30-50.。

虽说有模板,但是自己写光调试都要

N天。

找基址,找CALL快的一个量要5分钟,慢

的半个小时都有可能。

有那闲工夫慢慢写。

不知

道打工已经挣多少了。

因为我在这个区不能再编辑帖子发图了这里为了使大家能听得懂,所以我用了很多白话。

(貌似有点愧对大学老师。

讲的都很不规范。

俺不是计算机系出来的。

没办法。

)。

我想不到更简单的方法了。

老鸟看了别喷粪。

认为不好的少唧唧歪歪。

自己去写个教程。

版版能不能加个精华啊,

写的很辛苦啊~不然没啥动力继续写了

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

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

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

其实我根本不会找色。

我习惯读内存。

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

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

)。

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

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

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

那些自动任务什么的。

汗。

你找别人吧。

基本要求:

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

别说你不懂。

高中就有学。

人教版高一数学,选修

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

再不行。

自己去看书去。

三个小时就能看完。

看懂

、八、亠

前言:

说说本教程教学计划:

基础篇:

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

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

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

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

(1)游戏前台时候找怪

(2)游戏后台时候找怪

(五)指定范围挂机

进阶篇:

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

关于学习建议:

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

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

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

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

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

其实这些要搞清楚。

光光一

个G没有个一两年的意淫和实践。

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

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

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

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

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

由于我电脑上

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

希望谅解。

能改的就自己改吧。

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

数学太差的人,也不用

往下看我的教程了,很可能是浪费时间

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

必须自学一些必备知识。

荐教材不是什么C语言入门,或者某某入门视频,因为里面有很多我们

根本用不到的东西,要么太深,要么太浅。

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

现在的数学课本里有两个章节专门讲入门级别的VB,学了后可以进行

简单的编程,学校教这两个单元,也只半个月,每天一节,扣掉练习课时间,实际上正课时间,就5节,总共就400分钟教完,而且给学生上课还讲究一些环节,如果自学就更省了,成人3个小时应该够了。

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

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

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

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

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

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

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

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

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

后写完在某些地方使用别人插件时候要注意的地方自己标注下(比方说是字符型还是什么进制的),坦白说,按键的代码,我自己也不会被,

是用到什么函数,子程序,去搜索下帮助,然后把代码复制进去。

而且

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

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

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

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

磨成针"

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

因为写这些工具的

E,很多外挂都用他写的,所以很多软件都把这个软件报毒处理,因为

我都是自己用,不是拿去盈利的,没去做什么免杀处理。

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

买不起。

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

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

好,现在开始教程。

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

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

对于网游而言,用

的肯定是动态内存。

所以现在我们先把原理讲清楚,讲时候我尽量避免少用术语,用通俗的

语言为大家解释。

有的人一直不理解为什么每次血的内存位置是变的,但是既然是变的,为什么我们又能通过

固定的程序找到呢?

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

基址2的地址,也就是说基址2的门牌号,是把墓址1里面⅛fcffi⅛字.+偏倉遢I前議値22,得到地址是32-IB是32号房间内施的数宇却是10.这个痔闾内的數宇,—般在坯稅选捧人物完.一进入正式衞錢画而的时候,变T⅛∙但是由于基址2的门牌号是由基址】内的数宇袂定,而基址1内的妬,貝憂不回到欧迎画面就不会变.因lit≡rfcM游戏中退出到選择人物画面的时撲.基址2的地址{基址i肢的数宇+倔移E没範匹是器号腻设基址1内缺字是药人隍是现在己婭重回选择人物画面了.所L⅛基址3的32号閒血数宇,重新给勰咸新的不是⑷的教宇J

因此要找游戏的血量,关键是把路线图中红色的三个不变的数字找到,也就是基址1的地址

(下面就简称基址1了),偏移量1,偏移量2。

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

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

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

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

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

内的数字是不同的。

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

钊呢?

CheatEMiM5.4简体中

®[H|

j≡⅛⅛果:

O

偏稔地址

数佰

没有选择进程

首次扫描

设置

数值:

J口×

 

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

进程列恚

OOOOO2CC-Nctr⅛y.sx⅛QOOoO64β-aτmai1c.ene

OOo(IoG64-avwebgrCi-e∙xeQoooOBΛ4-⅛JLg.

OOOOOΞ04-EasyF⅛nel.*κβOoCiOOFθ4-N⅛χtheik.eχeOOooOF2C-按屣⅞≡灵庄E住OOooOi)50-9Qex⅛UOOoOE74-K)QAdTray.⅛κeOoOOo7F4-∏Plfttform.exe

00□OOH98-Ch⅛at.Engine.⅛Xe

 

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

21E<Γ

S

數值

□獅

□启卡

⅛220y2ΞQ2

=Ir3571r35=

扫描类型oa≡¾a

敞值类型2—i

CheatEneine5*4简体中文嚴

扫描结果:

4391

CheatEngine5.4简体中文S⅞

OoOOo2Ξ4-KLClient.亡録

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

数值姿型

偏移地址

0069677θ

0O7S3T5C

OO7Θ3B5C

CσT9C4C4

OoTEl91S

007D2DFS

OoTFSfOe

007F9474

00809597

0θ812Bα4

00814B56

OOal&F2B

OOΘ1774β

⅛-∣Λrt-flΠ,ΛΓ⅛T5

OOOoO254'KlJCIIent.

数值:

□比进制

同样扌3l⅛只读倚存

□快速扫描

扫描时晉停游溜

220

220

220

220

220

220

2£0

220

22Q

220御

ZEO

内存扫揃选顶

扫搖姿型藉确尉它

内存捋描选项

16字节・32字书起始结束

TFFFFFFF

00400000

∩∪40∪000∣

新扫描

新扫描

再校扫揃

再次扫描

国叵同r

扫描结果:

偏移地址

数值

Q065&T78

220

007G375C

220

0Q763BEC

220

0D79C4C斗

220

OoTBI91β

220

a□7D2DFB

E20

OaTFaFOe

220

0Q7F9474

220

OoSM597

220

0aεiΞDD4

220

Ooel4D66

220

0DS16F2B

220

OoSIT740

£20

0Q91T8QE

220

0QS17DSA

220

OOSla22.1

220

OaBl8736

220

006191B5

220

OOS192C9

220

 

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

P

FF

H

見仑圣境启魔塑爺韶全服打瞬受欢倍经验!

CheatEngine5-4简体中文JR

扫描结果:

偏移地址数值

OOClOO254-KiJClient.EJtE

051FB690GΞ5FCE18055FCE28055FeE30055TCE380S39B2AΓαes20BT9085?

QETi0S520Fβ⅛QΞ6AC1BDQΘ6AC4291094&1F410946IFC10946204109466E810θ466EC109466F41094665C-aECJtCEar

74

74747474

5536481Z3

335125OT974294Q672Q5125Ξ431342949672952Q5040430420斗如120

显示

■减少的数佰

扫描类型

内存扫描选项

数值类型

再决扫描

新扫描

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

∣S⅛∣H∣

扫描结果:

1

I偏移地址

数值

I055FCE2&

39

 

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

10、修改描述为1.内存地址(表示第一次游戏内找到的内存地址),右击地址,选择"查

 

找写入该地址的代码”

00400000TFfFFFTf

;区|[□扫描时暫停游戏

 

査看內存1[0](手动雨加地d―I

□55rai0

删除此地址(P更改记录E)

浏览此内存区域型)显示十六进制数值

设貫一个热键W锁定列表里的地址疋〕

高级选顶

扫描此地址的指针@〕查找访问该地址的代玛鸟)

直找写入该地址的代码⑤

直找读取该地址的代码①

【脚本交易・上任务中国「安全可龛,人流量大】

【太平i

回竄kt.引用一蝙辑

重新计茸地址QJJ强制重新检查字符电〕

 

剪切⑩复制①粘贴①

組选项広)

0独立团-商业会塩

O发表于2Q09-δ-513τ03|只看该作者

占位

F工眞F厂播简易收集面板For-.f⅛KixdLwiOxiliziya

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

2.

12、然后出现如下图片,红色内行写着ecx+OOOOO1eO,这里ecx代表二级基址内放的数值,

IeO代表偏移量2。

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

这个数字记下啦。

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

IotH841T2-旳81eθC)I00

rτ∣OV

・简剧枚垛面板FGrVStart

宋俸

Tg寸冷範乞■初會J

W4新标签

☆欢迎使用国駅收集面teΓZ-5⅛

04FBE7980B55CB0Q04eT£e£a0B338AD8

0048416e-Cdq

0(Mβ4iet->>0(J4S4172-

00484178-

0M84∏e-

mQV

m□vJnOVmov

ecx,[ebp^5Q]

[ecz+00000l⅛0]jeax

[ecκ+000001e4]jedκ

Bdκ4Γe⅛p-50]

传送指令

指耳的值或要查找这平地址055FCC38

-翅基址C)|

二级基址=-簸基址的数值+嗚移IO

血内存地址C055FCE18)=二级基址的数值Φ55FCC38)+偏CIeo)

EAK=OCOOOODCEDK=OODOOCOOESF=DOL0FΞB8

EBK≡O2E4F1F8ESI=O229D520EBP=OOIoF370

FCK^O55FCC38EDI=O4BEC52DEIF=α0484∏8

寄存巡是鱼仃之后显示在遠里的,呪明在使用障了非调试寄存器取执帰之箭绘示的°

[确定

⅛SmiIehaCk于2009-8-5

 

13、点新的搜索,然后输入刚刚找到的二级基址内的数值,并且勾上前面的16进制(因为

这个数据是16进制),再点击首次搜索(找找看哪个地址内的数值,满足上面这个数字),

得到,如下两个结果,然后双击这两个结果,把他们加入下面的方框内。

并且添加注释第A

次进游戏得到的可能二级基址。

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

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

刚刚说过,退到游戏选择人物画面再进游戏,一级基址不变,二级基址不变,但是二

级基址内放的数字变了,这导致这个时候血的内存地址也变了。

所以下面要做的就是退到人

物选择画面,再进入游戏,通过刚刚方法(1---13步骤),再找次二级基址,他应该和前一

回找到的二级基址一样。

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

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

CDS®

扫描结果:

2

 

内利

电简易⅛t集面板F(JrVΞ-tart

J⅛JAB幺旦宋体

列表!

新标赛

⅛爱趣儀用荷易矗而~

04FBET98OB55CBOO04«72«£8OB330AD8

一级基址()

二级基址C10e22B2O∣)=一级基址的数值0+偏移10

血内存地址OJ55FCE10)=二鐵墓址的数值(O55FCC30)+懾移2Cleθ^

锁定描迷H

□2内存地址05

□问能的二级基址01'

A可能的二级基址10

高级选项

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

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

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

我们说过二级基址数值只要进入正式游戏都不不会改变了,只有进入人物选择画面的时候才

变,下面我们要做的就是跟踪这个二级基址,回到人物选择画面,看看是谁往这个基址内写

入东东〜

 

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

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

 

OOOclo254-ICLjClient.EKE

扫描结果:

2

偏移地址

数值

O4Aθ7T5S

l□S22D^0

056BgeEO

萱看内存

新扫描

数值;

再次扫描

F列优码更改选择的地址

丁肚14FIj⅞jΓRHT?

PJa二丽Q⅝ftf⅞cP住Jl

・*■・・・・・・・■■■IjiBiBIIBrIjmBiKi■■(ι■■■BiHilaiaimBaBf・・・・・■■・・・・・・:

■・・・■■■■■■■Hlιιιιιιaι

叠级选项

 

 

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

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

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

把这个数字记下啦。

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

同时我们发现ecx代表

的是4(十六进制),4(十六进制)*4=10(十六进制)。

10就是偏移1

"IBBlr7无4I“VVk!

SWW£IWW

I函数发

渡破IF

⅛简易收集面板FcjeVStart

口叵IIzr

□J∆BJFy宋萍TS

'F《

%的$∙O@1

卿表勺I新标签

t>∣

p4FE∏9θOB55CBOD04e72«£30B33aλD6

A■

一巍基址()

二级基址(1032却起)=一级基址的数11¢10622BIO)+偏^laO)

曲的存地址©55FCE1&)二二鐵基址的数值ΦΞ5FCC38)Ib偏移2(14)

JnoV

IlLOVIiLOV

KOrIlkoV

传送扌旨令

扁针的值或要查找这平地址10S22E10

edxj[ebp+0c]e⅛[edx][eas+ecx*4]jedιeaκjeax

espjebp

D04f8421-

004f8424-»004f8436-

004f8429-

004f342b-

[宝找到二级基址后,通过上图的面板你们也览现

二级基址)

一皴基址的数值O

偏移id

EDX-IACD3470ESl=O229ESCOEDl=O2EA2908寄存誥是运行之后鬼示在这里的,说明在

EAX=IO822DlO

EB知D2E4FIF8ECK=UQ叩叩Uq

 

取执行之前显示的.

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

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

确定

θθm

00404ISf-

»00484172-

00484176-

00484ITe-

笹送指令

指钛的佰或要查

 

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

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

一级基址(012BAB94)

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

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

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

以下红色部分代表:

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

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

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

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

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

2.PIUginjzs=Window.MousePoint()

3.//定义变量

4.VBSDimhpbasepy1py2hpjz1hpjz2

5.Rem程序开始

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

7.//自己修改,下面的三个参数为你自己的,你就能直接得到你自己游戏的血量多少,请注意所有

十六进制的数字前都要加上&H,这样电脑才知道你输入的数字是十六进制的,不然像第二行的py2

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

8.base=&H012BAB94

9.Py仁&H10

10.py2=&H1e0

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

补充句以下所有MemOry.Read32Bit得到的数据都是十六进制

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

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

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

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

15.//hp代表。

地球人都知道什么意思。

hpjz2+py2意思是把基址2内装的数字+偏移2,

得到HP内存位置的门牌号,下一句话意思是,计算岀HP内存位置的门牌号,就从HP内存地址中读入数据存入hp中

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

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

18.hp=int(hp)

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

20.MeSSageBOXhp

复制代码

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

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

教程

(一)到此结束。

额。

这个再看不懂的话。

我就米办法了饿。

顺带给几个别人写的图文找基址的攻略。

正式开始教程

(二)

在我的上一篇帖子从O开始学模拟挂

(一)--找内存基址,包含

原理,我给出了内存基址的一些概念,以及找的思路。

如果你对这些

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

(一)

基本原理就是:

以下红色部分代表:

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

一级基址()

偏移1()

偏移2()

二级基址()=一级基址的数值()+

血内存地址()=二级基址的数值()+

般点应该是这样:

1.

其中一级基址和

所有的偏移,对于一个游戏而言是固定的。

2.

3.一级基址()

4.

二级基址()=

一级基址的数值()+

偏移1()

5.

三级

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

当前位置:首页 > 高等教育 > 农学

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

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