在本步骤中,你需要使用多级指针的概念来查找健康值真正的地址并修改它。多级指针就是一个指针的指针,也就是第一个指针指向第二个指针,第二个指针指向第三个指针,以此类推,最终指向你想要访问的地址。

首先,你需要按照跟第 6 步类似的方式找到健康值的地址,并分析汇编代码以查找指向健康值地址的指针。然后,你需要找到指向这个指针的指针,并按照同样的方式分析汇编指令和偏移量,找出下一个指向指针的指针。继续这个过程,直到无法进一步查找,通常是当你找到一个静态基址时,地址将以绿色标示。

如果你发现列表中那些指针地址所指向的值发生同样的变化时,那表示你可以试着将基址中的值更改为 5000,并锁定它,以便完成任务。

在这个过程中,你还可以使用 Cheat Engine 软件的代码查找和指针扫描器来加快查找的过程。然而,在某些情况下,需要更改软件的相关设置来解决一些问题。

要注意的是,在查找指针时,留意可能的代码和偏移量,将有助于更好地理解程序的代码结构和指针之间的关系。

本关步骤大体可总结为如下:

  • 开始的几步与在第6步中的操作基本相同。找出是什么访问了这个地址,然后记录下动态地址
  • 接着我们逐级向下查找,在查找的过程中,分别记录下动态地址,以及所对应的偏移地址
  • 最后将这些地址相加,并锁定数值为5000,点击改变指针,然后就可通关

首先通过前面的知识定位到动态内存地址,并找出是什么改写了这个内存地址,这里读者需要注意mov [esi+18],eax意味着一级偏移值是0x18而下一个搜索地址则是ESI寄存器中的值017FECE0

我们以十六进制模式继续搜索这个内存地址,并找出是什么访问了这个内存地址,点击改变数值,此时即可看到如下图所示的指令集;

点击查看详细信息,在该指令中可知二级偏移是0x0而下一个内存地址则是ESI的值也就是0178AE58,继续新的搜索寻找这个内存地址,可看到如下图所示,三级偏移是0x14下一个要寻找的地址是017FEC70

至此通过搜索017FEC70我们得到了第四级偏移值0x0c同时得到了下一个指针地址0180B400如下图所示。

通过进一步搜素这个内存地址,最终即可获取到一个绿色的Tutorial-i386.exe+2566E0地址,该地址则是基地址;

这里我们已经找到了所有的地址,接下来串一下这些地址即可得到当前动态地址的内存基址,

0x006566E0 + 0xc + 0x14 + 0 + 18

把基址Tutorial-i386.exe+2566E0的值取出来,加上一级偏移0x0C当做地址,这是二级指针的地址,再把二级指针的值取出来,加上0x14,这是三级指针的地址,依次类推,直到全部找到为止,最后将地址填入到手动添加地址位置,至此就完成了指针的寻找;

这里需要解释一下为什么会有基址这个东西,首先内存基址和全局变量之间存在密切关系(某些全局变量是写死在PE结构中的,而进程在载入到内存时并不是每次基地址都一致的,这就意味着要通过偏移来找到基址)。在某些编程语言和编写程序的环境中,全局变量是在内存中存储的。当程序需要访问这些全局变量时,在内存地址中需要通过内存基址来计算出其真正的地址。

例如,C语言中定义的全局变量:

int global_var = 42;

在内存中存储时global_var的地址将根据内存基址进行计算。如果内存基址为0x400000,那么global_var的地址可能是0x400040。程序在访问global_var时,需要将内存基址和偏移量相加,以得出实际的地址。

此外,全局变量的值可以被不同函数或代码块访问,因此在程序调用过程中,内存基址也需要根据需要进行修改。编辑器和编译器通常会为全局变量分配内存空间,并在程序运行时分配和管理内存基址和全局变量之间的关系。

总之,内存基址和全局变量通常是在程序中起着重要作用的概念,它们是程序如何管理和访问内存的基础。对于任何需要直接访问内存的程序,理解内存基址和全局变量的概念是至关重要的。

2.7 CE修改器:多级指针查找的更多相关文章

  1. CE修改器使用教程 [入门篇]

    Cheat Engine 一般简称CE,是一个开放源代码的作弊软件,其功能包括:内存扫描.十六进制编辑器.调试工具,Cheat Engine 自身附带了外挂制作工具,可以用它直接生成外挂工具,CE可以 ...

  2. CE修改器修改DNF 测试视频 阿修罗提升智力增加攻击力

    使用CE修改器来修改网络游戏,如DNF 测试视频: CE修改器:指的是Cheat Engine,字面上的意思指的是作弊引擎的意思,是一款内存修改编辑工具.通过修改游戏的内存数据来得到一些原本无法实现的 ...

  3. CE修改器使用教程 [基础篇]

    Cheat Engine  是一款内存修改编辑工具 ,它允许你修改你的游戏或软件内存数据,以得到一些其他功能.它包括16进制编辑,反汇编程序,内存查找工具.与同类修改工具相比,它具有强大的反汇编功能, ...

  4. ce游戏内存修改器(Cheat Engine)

    ce修改器(Cheat Engine)一款专门修改内存修改编辑的游戏工具它包括16进制编辑,反汇编程序,内存查找工具新版6.1 版的CE与6.0 最大的区别就是添加了修改器制作工具,比之前 5.6.1 ...

  5. Steam游戏《Zengeon(神明在上)》修改器制作-[先使用CE写,之后有时间的话改用C#](2020年寒假小目标06)

    日期:2020.01.30 博客期:138 星期四 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...

  6. 利用内存锁定技术防止CE修改

    利用内存锁定技术防止CE修改 通过这种在R3环利用的技术,我们可以来达到保护内存的目的,像VirtualProtect等函数来修改页属性根本无法修改. 而CE修改器推测应该使用VirtualProte ...

  7. Steam 游戏 《The Vagrant(流浪者)》修改器制作-[先使用CE写,之后有时间的话改用CheatMaker](2020年寒假小目标08)

    日期:2020.02.07 博客期:146 星期五 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...

  8. Steam游戏《Nine Parchments(九张羊皮纸)》修改器制作-[先使用CE写,之后有时间的话改用C#](2020年寒假小目标02)

    日期:2020.01.09 博客期:122 星期四 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想要部分CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页 ...

  9. Steam 游戏 《Crashlands(崩溃大陆)》修改器制作-[先使用CE写,之后有时间的话改用CheatMaker](2020年寒假小目标12)

    日期:2020.02.15 博客期:155 星期六 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...

  10. 基于C++ Qt实现的红色警戒3修改器

    前言 这部修改器制作有一段时间了,但是一直没出教程.今天利用周末空闲写篇教程,给后来者指路的同时也加深自己对游戏修改器的理解,大佬就随便看看吧 浏览了一下网络,形形色色的单机游戏修改器教程,但是基本只 ...

随机推荐

  1. 【辅助工具】Maven使用

    Maven使用 错误排查 查看对应依赖在仓库中的路径,jar文件有没有下载成功,如果不成功直接把外部文件夹删除重新加载 导包错误 找到对应的路径,丛正常导入的同事直接复制过来. Maven启动项目 导 ...

  2. 神经网络优化篇:详解RMSprop

    RMSprop 知道了动量(Momentum)可以加快梯度下降,还有一个叫做RMSprop的算法,全称是root mean square prop算法,它也可以加速梯度下降,来看看它是如何运作的. 回 ...

  3. 自用 | Rust 基础学习资料

    Rust语言圣经:Github,GitBook Rustt,RusttT 翻译小组的官方仓库,这里有国外优秀的技术文章.学习教程.新闻资讯的高质量翻译. Rust语言周刊,每周五发布,精选过去一周的技 ...

  4. POJ1426: Find The Multiple

    题目: 给定一个正整数n,请编写一个程序来寻找n的一个非零的倍数m,这个m应当在十进制表示时每一位上只包含0或者1.你可以假定n不大于200且m不多于100位. 提示:本题采用Special Judg ...

  5. 2018年第九届 蓝桥杯C组 C/C++决赛题解

    蓝桥杯历年国赛真题汇总:Here 1.年龄问题 s夫人一向很神秘.这会儿有人问起她的年龄,她想了想说: "20年前,我丈夫的年龄刚好是我的2倍,而现在他的年龄刚好是我的1.5倍". ...

  6. 题解 - Japanese Student Championship 2021

    前言:这场的题解由于蓝桥杯比赛拖延几天才发 关于本篇题解,目前还是有部分题没有解答出来正在加油补题ing 补题链接:Here A - Competition 题意:给定 \(X,Y,Z\) 代表的意义 ...

  7. xapian 搜索引擎介绍与使用入门

    Xapian 是一个开源搜索引擎库,使用 C++ 编写,并提供绑定(bindings )以允许从多种编程语言使用.它是一个高度适应性的工具包,允许开发人员轻松地将高级索引和搜索功能添加到自己的应用程序 ...

  8. 活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载

    7月29日"阿里云 Serverless 技术实战与创新"成都站圆满落幕.活动受众以关注 Serverless 技术的开发者.企业决策人.云原生领域创业者为主,活动形式为演讲.动手 ...

  9. mock.js使用

    前后端联调必备技术之Mock讲解 什么是Mock数据? 处于开发环境模拟接口返回的数据(用于开发状态后端还没给接口) 不会影响生产环境,只是方便我们还没与后端交互时,不阻塞我们开发流程 mock数据好 ...

  10. vue监听数组变化

    1 // 触发更新视图 2 function updateView() { 3 console.log('视图更新') 4 } 5 6 // 重新定义数组原型 7 const oldArrayProp ...