18.x86游戏实战-找角色人物名字

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:17.x86游戏实战-深剖堆栈

这里说一句OD代码区翻页的快捷键:减号

这里说的翻页的意思是,当打了断点按了ctrl+f9它会来到调用函数的位置,这时如果想回到按ctrl+f9之前的位置就按键盘上的减号键

现在游戏的名字叫染指樱

然后打开CE,点击下图红框位置附加到游戏

然后搜索名字,下图红框位置,如果名字搜不到,那么就取消勾选重新再搜一次试试

搜索名字,搜出了35个

全部选择,然后点击下图红框位置的红色箭头

然后选中一般,鼠标右击选择修改数值

现在改成3333

改完游戏中没反应,继续选择另一半,最终找到了名字,改名字的时候,游戏可能会闪退,重新启动,重新使用CE搜一次就好,下图就是游戏闪退重新搜的

然后现在找到了名字,但是这个地址没法用,游戏重启之后地址就会变,所以打开OD找它的基址,打开OD并附加到游戏之后,先鼠标左键单机一下内存区,然后按ctrl+g键,弹出弹框输入刚刚使用CE找出来的名字的地址,然后点确认

然后就可以看到44444的编码了,4的编码是34

然后鼠标右键单机名字的地址,然后选择硬件访问断点、byte,如下图选中的

单击完byte之后它就会卡主,这说明这段代码访问了名字,下图的代码基址没法找(对于新手不友好,所以不看它,现在只知道这段代码没法找名字基址就好)

然后游戏中访问名字的代码不可能只有一段,按F9或单击下图的运行

多按基础F9就会来到下图位置,这里的代码找名字基址就会很简单,所以就从它开始找基址

然后现在找到追名字基址的位置了,先把刚开始下的硬件访问断点关掉(为了防止莫名其妙断下来)

点击下图红框位置

然后点删除,然后点确定

然后开始追名字基址

首先代码是执行完下图红框的代码断下来的

然后eax的值是名字的地址,所以接下来查看eax的值是从哪来的

然后看到eax的值是从ebp+8位置得到的,ebp+8这样的写法是函数的参数,上一个内容中有例子

所以按ctrl+f9来到调用当前函数的地方,下图红框位置就是调用的上图函数

然后接下来看这个函数的入参,也就是看调用函数之前push的什么东西,然后它push的是eax

所以还是要看eax的值哪来的,下图红框是eax最近一次赋值,为了确认是不是0x1AB7CDC

直接在je后面打断点,也就是下图红框位置打断点,je指令与test指令配合意思是看eax的值是不是0,如果是0就跳转,如果能下下图红框位置断下来0x1AB7CDC就跑不了了,它就是名字基址了,打完断点按f9

然后在这断了下来

然后按F8单步运行,可以看到eax的现在也是名字,所以名字的基址计算是[[0x1AB7CDC]+0x258]

这里可以使用OD带的一个功能确认[[0x1AB7CDC]+0x258]的值,如下图红框,输入db [[0x1AB7CDC]+0x258]然后按回车键(Enter键)就可以看到了,然后 db [[0x1AB7CDC]+0x258]里的db是一个数据类型,db是让内存以1字节数据类型方式展示,上图的内存显示是dd类型4字节类型

然后到这名字的基址就找到了

然后除了db类型Windows有多种数据类型,如下图,下图是从微软官方截的图

网址:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debuggercmds/d--da--db--dc--dd--dd--df--dp--dq--du--dw--dw--dyb--dyd--display-memor


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/46611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言复习

0概念复习 gcc 旨在编译 C 语言代码。g 旨在编译 C 语言代码。 1.定义常用 #define pi 3.14 int m,n,i,sum,k1,count0,t; #include <ctype.h> #include <string.h> 2.函数常用 3.应试回答和八股 char x[5]{a&#xff0c;b&#xff0c;\0&#xff0c;c&#xff0c…

Checkpoint log is not found or is corrupted. Job not submitted.

问题 Checkpoint log is not found or is corrupted. Job not submitted. 解决 这个功能现在LSF需要第三方软件才能支持了&#xff0c;比如通过脚本集成blcr&#xff0c;blcr提供checkpoint&#xff0c;提交作业时-k是必须的&#xff0c;这个参数要设置存放checkpoint log的…

Linux编程乐趣《简单、有趣、好玩的Linux命令》

文章目录 一、黑客帝国&#xff08;cmatrix&#xff09;1.1 centOS 手动安装&#xff1a;1.2 . 运行1.3 . 效果 二、cal命令三、htop四、sl:蒸汽火车五、cowsay:会说话的小牛六、boxes七、pv 一、黑客帝国&#xff08;cmatrix&#xff09; 1.1 centOS 手动安装&#xff1a; #…

【数学建模与优化】:解析与实践

目录 数学建模概述 1. 什么是数学模型 2. 数学模型的分类 2.1 按应用领域分类 2.2 按建模方法分类 2.3 按是否考虑随机因素分类 2.4 按变量的连续性分类 2.5 按对对象内部规律了解程度分类 2.6 按变量的基本关系分类 2.7 按是否考虑时间变化分类 3. 数学规划及优化模…

易语言数据类型和插入数据类型-cnblog

易语言数据类型 基本数据类型 基本数据类型有6种:数值型、逻辑型、日期时间型、文本型、字节集型(字节型组合)、子程序指针型。数值型:0到9加. 数值型又包括:字节型、短整数型、整数型、长整数型、小数型、双精度小数型。 2.特殊数据 易语言特殊数据类型是指基本数据类型之外的…

【嵌入式Linux】<总览> 网络编程(更新中)

文章目录 前言 一、网络知识概述 1. 网路结构分层 2. socket 3. IP地址 4. 端口号 5. 字节序 二、网络编程常用API 1. socket函数 2. bind函数 3. listen函数 4. accept函数 5. connect函数 6. read和recv函数 7. write和send函数 三、TCP编程 1. TCP介绍 2.…

观察者模式:构建响应式系统的基石

在软件开发中&#xff0c;我们经常需要处理对象之间的通信问题&#xff0c;特别是在用户界面设计和事件驱动编程中。观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;它允许一个对象&#xff08;称为主题或被观察者&#xff09;在其状态发生…

基于vite的vue脚手架工具整合:ts、jsx、eslint、prettier、stylelint、tailwind...

为了帮助vue新手更高效的学习vue3的基础知识、组件开发以及项目方案整合&#xff0c;小卷给大家整理了一个10分钟搞定《基于vite的vue脚手架工具整合》的教程。所有工具都是目前最新的版本&#xff0c;实践和调试过&#xff0c;没有一行多余的配置。

C语言之qsort函数

一、qsort 1.库函数qsort qsort是库函数&#xff0c;直接可以用来排序数据&#xff0c;底层使用的是快速排序。 qsort函数可以排序任意类型的数据。 2.头文件 #include<stdlib.h> 3.参数讲解 void*类型的指针是无具体类型的指针&#xff0c;这种类型的指针的不能直接解…

逻辑分析仪小试(DOING)

PDD买的&#xff0c;价格很nice 有一个小遗憾&#xff0c;接口是mini-usb&#xff0c;这种线找了半天&#xff0c;终于发出来一根&#xff0c;插上去直接灯就亮了。 网上找了一些教程&#xff0c;才发现这个原来是美国saleae的山寨产品。。。但是群众们都一片叫好。 所以配套…

vue3上传图片,进行图片压缩(image-compressor.js)

在图片上传的过程中&#xff0c;如果图片体量过大&#xff0c;会很影响效率&#xff0c;并且在做某些特殊业务的时候&#xff0c;可能对上传图片的大小有限制&#xff0c;我们要么就对上传的文件进行限制&#xff0c;要么就对图片进行压缩后再上传&#xff0c;我这里采用了comp…

[C/C++入门][ifelse]10、反向输出一个三位数(求整数的各位数的值)

我们解决编程问题&#xff0c;可以从数学的角度来解析这个问题——如何从一个三位数中分别提取百位、十位和个位的数字&#xff0c;我们可以使用基础的除法和乘法概念。 数位的概念 首先&#xff0c;我们需要了解数位的概念。在十进制系统中&#xff0c;每个位置代表不同的数…

【填坑指南】PHP8报:Unable to load dynamic library ‘zip.so’ 错误

1.原因分析 这种情况多数发生在PHP安装时因为各种原因失败后&#xff0c;残余的库与最后安装的PHP版本不兼容导致的。 2.我的路径 一开始我按照以前摸索出来的安装PHP7.3的成功经验来编译方法安装PHP8.3&#xff0c;发现以前的套路已经失效了。反复重装PHP8.3失败后&#xf…

每日复盘-20240715

20240715 六日涨幅最大: ------1--------300807--------- 天迈科技 五日涨幅最大: ------1--------300807--------- 天迈科技 四日涨幅最大: ------1--------300807--------- 天迈科技 三日涨幅最大: ------1--------300713--------- 英可瑞 二日涨幅最大: ------1--------3007…

广告人的的自白,我们是怎么看“创意”这回事的?

作为广告行业的一员&#xff0c;广告创意确实是这个行业中非常核心且充满魅力的一部分。 创意的本质在于能够触动人心&#xff0c;与目标受众产生共鸣&#xff0c;并且有效地传达品牌或产品的信息。 作为一个多年的广告人&#xff0c;下面是我对创意的来源和什么是成功的创意…

[C/C++入门][循环]14、计算2的幂(2的n次方)

计算2的幂&#xff08;即2的n次方&#xff09;非常经典。你懂几种方法呢&#xff1f;很多人只会一种&#xff0c;我们来分析一下。 可以通过多种方式实现&#xff1a; 1、最简单的方法之一是使用位运算符<<&#xff0c;它本质上是在二进制表示下对2进行左移操作&#x…

java InputStream抽象类介绍

java.io.InputStream 是 Java 输入输出&#xff08;I/O&#xff09;类库中的一个抽象类&#xff0c;它是所有字节输入流类的超类。输入流用于读取数据&#xff08;通常是从文件、网络连接或其他数据源&#xff09;&#xff0c;读取的内容为字节数据。下面是对 InputStream 类的…

UE4-初见虚幻引擎

一.创建自己的工程 1.启动 a.通过桌面双击图标来打开对应版本的虚幻引擎 b.通过EPIC启动器开启动虚幻引擎 2.选择或新建项目 ps:高版本虚幻编辑器可以打开低版本的虚幻项目&#xff0c;但是高版本虚幻的项目不可以由低版本的虚幻编辑器打开。 3. 选择要打开的项目 4.选择模版 选…

Github2.1万星!开发者的“瑞士军刀” 开源!

转载自&#xff1a;GitHub好项目 DevToys 是一个专为开发者设计的实用工具集&#xff0c;它集合了多种开发中常用的功能&#xff0c;如JSON格式化、文本比较、正则表达式测试等&#xff0c;旨在帮助开发者提高编程效率。 镜像代码&#xff1a; http://www.gitpp.com/fm/devt…

Kotlin标准函数(语法糖)let with run also apply快速讲解

目录 1、知识储备——扩展函数 原理 定义扩展函数 调用扩展函数 2、返回值为上下文对象的标准函数 apply also 3、返回值为Lambda表达式结果 let run with 4、一表总结 1、知识储备——扩展函数 原理 Kotlin 在不继承父类或实现接口下&#xff0c;也能扩展一个类的…