CE教程 第七章 《多级指针》
步骤 8: 多级指针: (密码=525927)
这一步教学将会解释该如何使用多级指针.在第 6 步的教学中你应该了解到简单的1级指针的概念和用途, 以及如何由数据的地址找到真正的基址.在本步教学中,你将面对的是4级指针的挑战。它将是一个指向指针的指针的指针的指针,最终指向表示血的数值.
开始的几步与在第 6 步教学中操作基本相同。找出是什么存取这个数值的,然后检查指令和可能的基指针数值,以及它的偏移量, 并将这些数值填充或把它记下来。但是在这里与第6步教学中情况不同的是:你找出的数值其实也是一个指针。你必须依据这些数值,使用同样的操作方法找出指向这个指针的指针。找出什么访问你发现的那个地址,审查汇编指令, 留意可能的指令和偏移量,并在下一步查找过程中加以使用。这种过程一直进行,直到不能更进一步查找为止(通常当基址是一个静态的地址时,这个地址将以绿色显示)。
点一下"改变数值"让教程程序改变下血值.
如果你认为你已经发现指针路径单击"改变指针"按钮。指针和数值将随之改变,并且你将有 3 秒时间来锁定地址到 5000
备注1: 这个问题也可以使用自动汇编程序脚本或者使用指针扫描器加以解决
备注2: 在某些情况(像本步教程)下,一个被推荐的做法是:改变CE软件的设置中"代码查找器"中的相关设置。这样,当你遇到像 mov eax,[eax] 的指令时,调试寄存器将显示被改变之后的值,使得能利用这个值更容易找出指针
备注3: 如果你仍在往下读。你可能注意到,当你查看汇编指令时,这些指针是在相同的代码块位置被读写。这种情况并不总是会发生,但是当你在查找某个指针遇到麻烦的时候,真的有很大用处
--------------------------------------------------------------------------------------------------------------------------
额,先说件事.本来这个CE教程应该是9章的可是在第七章就讲到了步骤8因为CE教程的第一个步骤是安装CE载入进程.没有跟大家细说的意义,不过我在第一章《精确数值扫描》已经跟大家说过安装CE载入进程了.所以在这里就不说了这个是第七章.明天出第八章最后一章《注入++》
额大家好我是木头。又见面了哈,今天我们来学习了解CE的《多级指针》的扫描。其实CE教程都是基础啦。希望大家学好掌握好CE教程的基础知识。
那么什么是多级指针呢?我们来看一下一级指针:
假设:基址004523AB+偏移量03C=指针内存地址(这个例子就是一级指针)。
假设:基址004523AB+偏移量1+偏移量23+偏移量23C=指针内存地址(这个例子就是3级指针)。
我们已知今天要查找的基址是4级指针也就是。基址+偏移量+偏移量+偏移量+偏移量=指针内存地址。处理多级指针还是比较麻烦的。我们需要先得到指针内存地址和最后一个偏移量然后去找第3个偏移量。最后直到找到基址,再通过基址+4级的指针得到数值。
1.这章和第五章《指针》一样。教程工具给了我们一个数值和一个指针。我们先找到数值的内存地址。不要碰改变指针的按钮。
2.在地址上右键单击选择“查找访问该地址的代码”或“查找写入该地址的代码”都可以。
3.是否附加在进程上选“YES”。然后回到教程工具单击“改变数值”,选择显示的代码单击“更多信息”。
4.我们记录下EAX寄存器里的地址“01B84844”,和第一次偏移量“18”。
5.回到CE。搜索我们找到的指针地址“01B84844”得到指针的指针地址。“01B862DC”
6.现在我们有了3级指针的地址“01B862DC”和偏移量“18”,我们把他们手动添加进地址栏点CE右下角“手动添加地址”勾选指针-指针地址“01B862DC”偏移量“18”全部填好后点“确定”。
7.我们看到添加的地址数值显示和我们查找数值时候的指针地址数值是一样的。说明我们找的是正确的。
8.在新找到的地址上面右键单击选择“查找访问该地址的代码”。
9.注意弹出的窗口一定要选择“查找访问此指针的代码”。
10.和第3步一样。回到教程工具单击“改变数值”,选择显示的代码单击“更多信息”。这时我们发现只有一个寄存器EAX的信息没有偏移量而寄存器EAX里的地址和我们第一次找的一样都是“01B84844”。这时新手可能会有个疑问是不是找错啦?怎么和第一次的一样?。答:没错就是一样只不过这次没有偏移量。我们记录EAX的值“01B84844”。
11.回到CE做一次16进制扫描,扫描到的地址和上一次是一样的“01B862DC”不管它,记录这个地址。
12.因为我们找到的这个指针地址的偏移量是0所以计算01B862A4减偏移量0=01B862A4所以我们直接对这个地址进行再次的扫描。得到的指针的指针的指针地址是“01B862A4”
13.点CE右下角“手动添加地址”,勾选指针--点“添加指针”,在下面指针地址里填我们扫到的指针地址“01B862A4”,这次的偏移量是0,上次的偏移量填“18”。最后点“确定”。
14.数值都一样,说明步骤是正确的。
15.在新添加的地址上面右键单击选择“查找访问该地址的代码”。
16.在弹出的窗口选择“查找访问此指针的代码”。
17.回到教程工具单击“改变数值”,选择显示的代码单击“更多信息”。
18.我们记录下这次EAX寄存器里的地址“01B862DC”,和这次偏移量“14”。
19.回到CE对这个地址(01B862DC)进行扫描得到01B862A4(跟上次一样,不要管它,有人会问你得到偏移量直接对这个操作不就行了吗?答:每次寄存器结果不一定完全相同,所以这些麻烦的步骤最好都一步一步做完整。)我们知道这次的偏移量是“14”这次的内存地址是“01B862A4”所以我们现在拿出计算器(用系统自带的就行 开始--附件--计算器(或在其他位置,自己找找看。))。打开计算器后选“查看”--“科学型”(不然无法直接对16进制数值进行运算。)
20.点选“十六进制”依次运算减--14--等于 我得到的结果是“1B86290”
21.回到CE搜索对这个数值“01B86290”,进行搜索。我得到的内存地址是“01B86204”。
22.点CE右下角“手动添加地址”,勾选指针--点2次“添加指针”,在下面指针地址里填我们扫到的指针地址“01B86204”,这次的偏移量是14,上次的偏移量填“0”。第一次偏移量是“18”,最后点“确定”。
23.数值都一样,说明步骤是正确的。
24.在新添加的地址上面右键单击选择“查找访问该地址的代码”。
25.在弹出的窗口选择“查找访问此指针的代码”。
26.回到教程工具单击“改变数值”,选择显示的代码单击“更多信息”。
27.记录下这次EAX寄存器里的地址“01B86290”,和这次偏移量“0c”。
28.回到CE对这个地址(01B86290)进行扫描得到01B86204 我们知道这次的偏移量是“0c”这次的内存地址是“01B86204”所以我们现在对这个地址进行运算。打开计算器。选择“十六进制”--输入数值“01B86204”依次进行运算 减--0c--等于 我的结果是“01B861F8”。
29.回到CE对这个地址进行16进制扫描。我们看到右侧地址栏以绿色显示我们的地址通常以绿色显示就表示我们找到的地址就是基址。而先前我们已经知道今天的指针是4级指针。好。我们记下这个地址“0045DC20”。
30.点CE右下角“手动添加地址”,勾选指针--点3次“添加指针”,在下面指针地址里填我们扫到的指针地址“0045DC20”,这次的偏移量是“0c”,上次的偏移量填“14”。第二次偏移量是“0”。第一次偏移量是“18”,全部填好后点“确定”。
31.双击数值改为“5000”,点“OK”。最后记得勾选锁定。
32.回到教程工具点“改变指针”,等待3秒“下一步”变为可点击。好教程到此结束感谢大家的观看。
教程总结:处理多级指针是很麻烦的。不过在大多数游戏内存中都有应用到多级指针所以这章虽然麻烦。但却是不可或缺的基础。希望大家掌握并理解本章教程。也算我没有白费心思。喜欢的欢迎留个言。
本文来自DNF辅助论坛:http://fzsq.uueasy.com
CE教程 第七章 《多级指针》相关推荐
- CE教程 第五章 《指针》
步骤 6: 指针: (密码=098712) 上一步解释了怎样用代码寻找功能对付变化位置.但单独用不容易找到地址并修改成你要的数值.这就是为什么要用到指针了.在TUT下面有两个按钮,一个会改变数值,另一 ...
- 【Cheatengine】ce教程-第8关多级指针
方法一 手动方法 第一步: 先通过数值查找到对应的地址,这步可能会需要多次操作,找到值对应的地址 第二步: 2.1 然后右键,谁改写了地址->点击改变值,只查找到一个汇编命令mov [rsi+ ...
- 2017.2.12 开涛shiro教程-第七章-与Web集成
2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...
- 计算机应用教程第七章,计算机应用基础(第7章)教程.doc
计算机应用基础(第7章)教程 第七章 医院信息系统 医院信息系统是一种综合管理科学.信息科学.系统科学.计算机科学.网络通信技术及数据库技术的处理医院各种信息的技术.医学院校的学生今后要走上社会,进入 ...
- 微信小程序开发教程第七章:微信小程序编辑名片页面开发
前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...
- 偏微分方程简明教程第七章部分答案
偏微分方程简明教程答案 第七章 Fourier变换及其应用 习题7.1 7.1.1 第七章 Fourier变换及其应用 习题7.1 7.1.1 1.按定义求下列函数的 F o u r i e r Fo ...
- CE教程 第四章 《代码寻找》
步骤 5: 代码寻找 (密码=888899) 有时一些东西的保存位置在你重新开始游戏时会改变,甚至是在你玩的时候也会变,在这种情况下,你 用2步仍然能做出可以用的内存列表. 在这一步会说明怎样用寻找代 ...
- cobaltstrike扩展_Cobalt Strike系列教程第七章:提权与横向移动
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- [统计学教程] 第七章 假设检验
导读: 第七章 假设检验 第一节 检验原理 一.提出原假设( Null Hypothesis)和备择假设(Alternative Hypothesis): 所谓假设,是指需要进行验证的统计结论. 原假 ...
最新文章
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
- Spring.NET学习笔记9——打造简易的依赖注入框架(练习篇) Level 100
- 构件图(Component Diagram)—UML图(八)
- xftp怎么有root权限_许多人都不懂的Linux系统里的特殊权限!!你真的了解嘛?...
- SphereEx 完成近千万美元 Pre-A 轮融资,连接企业数据与应用,构建新一代数据库生态引擎
- 4.线性和卷积——不同种类的噪声、中值滤波器揭破和实战_5
- android studio单元测试插件,Android Studio单元测试插件下载
- python68个内置函数_直接在python中检索68个内置函数?
- XML(1):基于流的XML处理
- 最新版easyMule-VeryCD-src v1.1.13编译
- python中文帮助_python中文官方手册等手册链接地址
- 3.用Python爬虫,2003-2021的双色球数据
- Oracle Data Integrator(ODI)架构
- 水质检测c语言程序,单片机TDS水质检测源程序
- MFS分布式文件系统
- android inflate,Android inflate view的两种方式
- NVIDIA Tesla T4 GPU参数
- 2021年起重机司机(限桥式起重机)免费试题及起重机司机(限桥式起重机)试题及解析
- 【LiteApp系列】爱奇艺小程序架构浅析
- win10的高占用CPU的进程wsappx关闭指南+解决win10应用商店打不开