当前位置: 首页 > news >正文

22.第二阶段x86游戏实战2-背包遍历REP指令详解

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

本次游戏没法给

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

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

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

提取码:6tw3

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

上一个内容:21.第二阶段x86游戏实战2-C++实现寻路

上一个内容里使用C++实现了寻路功能,本次再来找背包和背包里的物品,开始之前需要了解一个东西,对象,对象什么意思?对象的物理样子是一块内存空间的首地址,比如现在有10个内存空间,然后内存地址分别是0、1、2、3、4、5、6、7、8、9,然后在这对象也就是指的是0这个地址,使用对象的时候,通过会以对象+偏移的方式来访问对象的内存空间,比如访问第二个内存那就是对象+1也就是0+1,第二个内存空间的地址也就是内存地址1,为什么会有对象这个东西,如果没有对象这个东西,现在有一块内存地址你该怎样形容它?比如专门存放人名的内存地址,如果不用对象应该会用来存放人名的内存地址这样形容,如果带上对象就可以 用人名对象 这样形容这块内存空间,这样就方便了很多,使用和管理方面也方便了很多,然后背包对象(正常来讲看到背包会想到背包里的东西,所以背包对象就指的某块内存专门用来存放背包里东西的内存空间),知道了这些然后可以开始了

背包对象或者说是背包结构,结构一般是指的内存空间里都会有哪些数据,仅仅是会有哪些数据并没有真实的数据,用对象描述的时候一般是在使用的时候,这意思是用对象描述的时候,背包的内存空间创建好了,数据也写进去了,可以直接用,所以对象和结构描述的都是同样的东西只是阶段不一样,不严谨点用结构还是对象都可以都一样

对象和结构还有一个数据结构,数据结构跟结构一样,只是叫法不同,然后三个常用的话术的意思到这就完了,这三个话术不理解也没事,顶多跟人沟通不了,没别的影响,对于会不会逆向来说没影响 ,然后开始找背包数据

然后找背包数据,背包里面会有很多物品,物品里面会有数量,然后就通过物品的数量来找背包,因为想找物品肯定是要通过背包对象来得到物品,所以通过物品是可以找到背包的,然后打开游戏,打开CE搜索物品的数量(游戏中一般会有使用游戏币来购买的加血我药,通过它来搞数量就可以),下图背包里物品的数量是61

然后使用字节搜索,如下图

然后会扫描出很多,这时改变物品的数量,比如使用物品或拆分物品

然后点再次扫描会发现少很多,如下图,然后接着继续拆分物品或使用物品

最终剩下一个(也可能不会剩下一个,会剩下多个)

如果剩下多个,那就再拆分物品或使用物品,如果最终就是有多个 ,那就随便用一个找找看,下图的地址与上图的地址不一样是因为不小心把背包关了,又重新找的,然后记录下方的地址0x455DA6B8,然后打开OD并附加到游戏

然后点击内存区域,然后按CTRL+G在内存区域跳转过去,跳转过去之后,右击选择Hex-》Hex/ASCII8位,这样就会以1字节(字节)方式显示内存的数据了

如下图39的十进制是57

然后鼠标左键单击下图红框位置,然后右击下图红框位置

然后选择断点-》硬件写入-》Byte

然后下了硬件写入断点之后它可能没有什么反应,这需要回到游戏,再次使用物品或拆分物品,总之对物品做个操作,因为在使用物品的时候,它一定会去背包里找这个物品(去背包里循环找物品),找到这个物品之后再对物品做操作

然后就会来到下图红框位置

这里有一个新指令rep,想看懂这个指令,下图红框两行要一起看,ecx的值是0x2F,ecx在这相当于一个计数器,每执行一次rep指令ecx就会减1,然后rep movs dword ptr es:[edi], dword ptr[esi],假设esi的值是1000,然后esi的值是2000,它们都没[]括起来的所以esi和edi的值都是内存地址,[]就是取内存地址的值,然后rep执行一次就会把esi的值放到edi的值里也就是把edi的值修改成esi的值,然后进行加4,dword是4字节所以加4,这是个什么意思,带入场景这里是通过修改背包里物品触发的,也就是说edi是背包对象,esi是最新的物品数据,由于是通过修改物品数量触发到这里的,这里的rep操作就是在刷新背包里物品的信息,所以接下来通过追edi的值来源就能找到背包对象的基址,本次到这就结束了,下次再找

基址偏移0x2F8E36,下方基址偏移是后补的,所以地址会与上图不一样


img

相关文章:

22.第二阶段x86游戏实战2-背包遍历REP指令详解

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…...

java 的三种IO模型(BIO、NIO、AIO)

java 的三种IO模型(BIO、NIO、AIO) 一、BIO 阻塞式 IO(Blocking IO)1.1、BIO 工作机制1.2、BIO 实现单发单收1.3、BIO 实现多发多收1.4、BIO 实现客户端服务端多对一1.5、BIO 模式下的端口转发思想 二、NIO 同步非阻塞式 IO&#…...

低级语言和高级语言、大小写敏感、静态语言和动态语言、链接

低级语言和高级语言 一般而言,更接近硬件的语言被称为低级语言,反之,更远离硬件被称为高级语言。C语言既有低级语言的特点,又有高级语言的特点,又被称为系统语言。Java/Python一般被称为高级语言。 大小写敏感 DOS/Win…...

P3197 [HNOI2008] 越狱

题目传送门 题面 [HNOI2008] 越狱 题目描述 监狱有 n n n 个房间,每个房间关押一个犯人,有 m m m 种宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。 …...

会声会影导出视频mp4格式哪个最高清,会声会影输出格式哪个清晰

调高分辨率后,mp4视频还是不清晰。哪怕全部使用4K级素材,仍然剪不出理想中的高画质作品。不是你的操作有问题,而是剪辑软件没选对。Corel公司拥有全球顶尖的图像处理技术,该公司研发的会声会影视频剪辑软件,在过去的20…...

Linux:进程调度算法和进程地址空间

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 进程调度算法 1.1 进程队列数据结构 1.2 优先级 ​编辑 1.3 活动队列 ​编辑 1.4 过期队列 1.5 active指针和expired指针 1.6 进程连接 二 进程地址空间 2.1 …...

TCP ---滑动窗口以及拥塞窗口

序言 在上一篇文章中我们介绍了 TCP 中的协议段格式,以及保证其可靠传输的重传机制,着重介绍了三次握手建立连接,四次挥手断开连接的过程(👉点击查看)。  这只是 TCP 保证通信可信策略的一部分,现在让我们继续深入吧&…...

第十二章--- fixed 和 setprecision 函数、round 函数、进制转换及底层逻辑

1. 保留几位小数 在C中&#xff0c;如果你想要控制输出的小数点后的位数&#xff0c;可以使用<iomanip>头文件提供的fixed和setprecision函数。这里的fixed用于设置浮点数的输出格式为定点表示法&#xff0c;而setprecision(n)则用来指定小数点后保留的位数。具体用法如…...

ASP.NetCore---I18n(internationalization)多语言版本的应用

文章目录 0.实现的效果如下1.创建新项目I18nBaseDemo2.添加页面中的下拉框3.在HomeController中添加ChangeLanguage方法4.在Progress.cs 文件中添加如下代码&#xff1a;5. 在progress.cs中添加code6.添加Resource资源文件7.在页面中引用i18n的变量8. 重启项目&#xff0c;应该…...

vue3 环境配置vue-i8n国际化

一.依赖和插件的安装 主要是vue-i18n和 vscode的自动化插件i18n Ally https://vue-i18n.intlify.dev/ npm install vue-i18n10 pnpm add vue-i18n10 yarn add vue-i18n10 vscode在应用商城中搜索i18n Ally&#xff1a;如图 二.实操 安装完以后在对应项目中的跟package.jso…...

2024 uniapp入门教程 01:含有vue3基础 我的第一个uniapp页面

uni-app官网uni-app,uniCloud,serverless,快速体验,看视频&#xff0c;10分钟了解uni-app,为什么要选择uni-app&#xff1f;,功能框架图,一套代码&#xff0c;运行到多个平台https://uniapp.dcloud.net.cn/ 准备工作&#xff1a;HBuilder X 软件 HBuilder X 官网下载&#xf…...

CentOS 7文件系统

从centos7开始&#xff0c;默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛&#xff0c;作为虚拟化磁盘来源的大文件&#xff08;单个文件几GB级别&#xff09;越来越常见。 1.XFS组成部分&#xff1a; XFS文件系统在数据的分布上主要划分为三部分&#xff1a;数据…...

vue源码解析(源码解析学习大纲)

文章目录 Vue源码解析入手方向大纲1.核心概念1-1.响应式系统1-2. 组件1-3. 虚拟DOM1-4. 指令1-5. 生命周期钩子 2.虚拟DOM2-1. 概念2-2. 工作流程2-3. 示例2-4.总结 3.组件系统3-1. 组件的定义3-2. 组件的创建3-3. 组件的模板3-4. 生命周期3-5. 事件处理3-6. 插槽&#xff08;S…...

工行企业网银U盾展期后有两个证书问题的解决方法

工行企业网银U盾证书快到期后&#xff0c;可以自助展期&#xff0c;流程可以根据企业网银提示页面操作。操作后&#xff0c;可能存在两个新旧两个证书并存的情况&#xff0c;致使网银转账等操作失败&#xff0c;如图&#xff1a; 其原因是新证书生成后&#xff0c;旧证书没有删…...

《Linux从小白到高手》理论篇:文件权限控制及文件操作相关的命令

List item 本篇介绍Linux文件权限控制及文件操作相关的命令&#xff0c;看完本文&#xff0c;有关Linux文件权限控制及文件操作相关的常用命令你就掌握了99%了。 文件权限 在介绍文件权限之前先来复习下Linux的文件类型&#xff0c;始终记住那句话&#xff1a;Linux系统下&a…...

前端框架React的详细的学习方法和过程

学习React作为前端架构的一部分&#xff0c;是一个系统且逐步深入的过程。以下是一个详细的学习方法和过程&#xff0c;可以帮助你有效地掌握React&#xff1a; 1. 理解React的基础知识 首先&#xff0c;你需要了解React的基本概念&#xff0c;包括它是什么、为什么使用它以及…...

linux中缓存,在kafka上应用总结

linux中的缓存 页缓存 pagecatch&#xff08;读缓存用于提供快速读&#xff09;块缓存&#xff08;用于提供其他设备快速写&#xff09;当对读缓存读的时候&#xff0c;修改了读的数据&#xff0c;页缓存就会被标记为脏数据&#xff0c;等到写的时候它会向块缓存同步数据&…...

前端练习小项目 —— 让图片变得更 “色”

前言&#xff1a;相信读者在学习完了HTML、CSS和JavaScript之后已经想要迫不及待的想找一个小型的项目来练练手&#xff0c;那么这篇文章就正好能满足你的 “需求”。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 在开始学习…...

时间卷积网络(TCN)原理+代码详解

目录 一、TCN原理1.1 因果卷积&#xff08;Causal Convolution&#xff09;1.2 扩张卷积&#xff08;Dilated Convolution&#xff09; 二、代码实现2.1 Chomp1d 模块2.2 TemporalBlock 模块2.3 TemporalConvNet 模块2.4 完整代码示例 参考文献 在理解 TCN 的原理之前&#xff…...

零散的知识

1.物化 在SQL中&#xff0c;物化&#xff08;Materialization&#xff09;是指将查询结果保存为物理数据结构以供后续使用的过程。这与普通的视图或查询不同&#xff0c;物化视图会存储查询的结果&#xff0c;而不是每次查询时都动态地重新计算数据。 ①物化视图 物化视图是一…...

无感定位技术白皮书——传统ReID跨镜跟踪局限重重,无短板碾压式突破

前言在智慧安防、智慧园区、工业物联网等数字化转型核心场景中&#xff0c;跨摄像头目标追踪与精准定位是支撑场景智能化升级的关键底座。长期以来&#xff0c;ReID&#xff08;行人重识别&#xff09;技术因无需额外硬件部署、可依托目标外观特征实现跨镜身份关联&#xff0c;…...

可编程投币器集成指南:从硬件连接到游戏积分映射

1. 项目概述&#xff1a;从“投币”到“积分”的硬件魔法“Insert Coin”——对于任何一个经历过街机黄金年代的玩家来说&#xff0c;这三个字背后所承载的&#xff0c;远不止是启动游戏的指令&#xff0c;更是一种充满仪式感的期待。如今&#xff0c;我们大多通过模拟器上的一…...

Swift集成飞书API:使用feishu-swift SDK构建高效机器人

1. 项目概述&#xff1a;一个连接飞书与Swift生态的桥梁 最近在折腾一个内部工具&#xff0c;需要把服务端的一些数据变动实时同步到飞书群里&#xff0c;方便团队同学及时跟进。服务端是用Swift写的&#xff0c;而飞书官方虽然有开放的API&#xff0c;但直接上手去调&#xf…...

基于CircuitPython与BLE的无线手势鼠标:从传感器到HID设备的实践

1. 项目概述与核心思路想没想过&#xff0c;你手里的那块开发板&#xff0c;除了点灯、读传感器&#xff0c;还能直接变成你电脑的鼠标&#xff1f;不是通过USB线&#xff0c;而是像你的蓝牙耳机一样&#xff0c;无线连接&#xff0c;靠手腕的晃动来控制光标。这个想法听起来有…...

北京明光云振铎数据科技Java面经

Nacos、OpenFeign、Gateway 三个组件的作用及协作流程首先&#xff1a;Nacos 主要负责服务注册发现和配置中心Gateway 作为统一网关入口&#xff0c;负责路由、鉴权、限流OpenFeign 负责服务之间的远程调用用户请求先进入 GatewayGateway 会先做 JWT 鉴权&#xff0c;比如校验 …...

MPLAB® Harmony嵌入式框架实战:从架构解析到项目开发避坑指南

1. 项目概述&#xff1a;从零到一&#xff0c;理解MPLAB Harmony的价值如果你是一位嵌入式开发者&#xff0c;尤其是长期与Microchip的PIC或SAM系列MCU打交道的朋友&#xff0c;那么“MPLAB Harmony”这个名字你一定不陌生。它可能出现在官方文档的角落里&#xff0c;在论坛的讨…...

手把手教你用TI TICS Pro配置LMX2594时钟芯片(附寄存器导出与SPI写入指南)

手把手教你用TI TICS Pro配置LMX2594时钟芯片&#xff08;附寄存器导出与SPI写入指南&#xff09; 在高速数字系统设计中&#xff0c;时钟信号的稳定性和精确度往往决定着整个系统的性能上限。作为射频与通信领域的工程师&#xff0c;我深刻体会过时钟配置失误带来的调试噩梦—…...

当比你资历浅的人成了你的上级,技术人的心态调整指南

阶段一&#xff1a;缺陷定位——从审视“测试用例”开始当问题出现时&#xff0c;优秀的测试工程师不会立刻指责开发&#xff0c;而是先检查自己的测试环境、数据和步骤。面对年轻领导的晋升&#xff0c;我们同样需要运用这套严谨的思维&#xff0c;进行一次彻底的“根因分析”…...

GraphQL-WS服务器配置:完整参数详解与最佳实践

GraphQL-WS服务器配置&#xff1a;完整参数详解与最佳实践 【免费下载链接】graphql-ws Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-ws GraphQL-WS…...

Mali GPU着色器优化与性能分析实战

1. Mali离线着色编译器深度解析Mali离线着色编译器是Arm为开发者提供的专业工具链组件&#xff0c;专门用于分析和优化面向Mali GPU架构的着色器代码。与运行时编译不同&#xff0c;它允许开发者在构建阶段就对着色器性能进行静态分析和调优。1.1 核心工作原理该工具通过模拟Ma…...