99.游戏安全项目-可见数据的搜索与技巧

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

内容参考于:易道云信息技术研究院

上一个内容:98.游戏的启动与多开-分析与实现多开器

下图中红框位置显示的数据,只有下图红框位置显示了那么在内存中一定是存在的,存在中存在就一定可以找得到,找到就可以显示,找的方式剑侠情缘找的方式是很简单的只需要在 Cheat Engine 中输入数字就可以得到

字节对应char,2字节对应short,4字节对应int,8字节对应long long,4字节和8字节原则上来讲它包含了float和double,如果使用精确的值搜索float和double类型使用4字节个8字节是搜不出来的只能模糊搜索,字节数组是一个一个的数据以空格分开

字符串默认是char类型的数组,如果把UTF-16勾选上那么就是w_char类型

搜索游戏中数据是类型的选择,比如说要找它的生命,先看它的范围,它的范围是1562,然后再看936这个数据分析它用char类型够不够如果不够再分析它用short类型够不够如果不够就用int、longlong,很显然936这个数据用short类型可以存下,虽然可以用short找936并不代表游戏中就是使用的short类型存储的,但是只要数据满足short类型那么数据是一定可以找到的,即使当时是用int存储的也一定是可以找到的

可以找到原因是比如有一个数据是1000,1000是可以用short类型存放的,但实际上游戏中是用的int类型存放的

然后1000再内存中的样子是 e8 03 00 00,由于1000使用int类型4字节的方式存放所以是e8 03 00 00, 然后1000这个数字实际上内存占用的情况只需要e8 03就可以表达了,00 00现在是没用的,所以使用short类型搜索内存时是可以把1000给搜到的,然后在不知道数据是以什么类型存放的时候找数据要采用这种最小存放单位来找,使用int类型找时不一定会找得到,但是使用short类型是一定可以找到的,只要找2字节然后再确认它后面是不是0再判断它是不是int类型或者longlong类型

下图使用2字节就找到了血量的内存地址

然后确认类型,把找到的血量改成以4字节显示看看数据变不变如果不变那它可能是4字节

然后改成8字节数据变了,然后这样就可以确定血量这个数据一定是4字节的也就是当时写游戏时是 int hp;这样声明的

现在计算机发展的比较好内存资源不是很紧俏所以一般都会是4字节。

然后有时候搜索数据时会找到多个一模一样的数据,如下游戏它的血量就搜索出了三个

然后吃了一个药三个值也都变满了

它的数据也时4字节

然后一个游戏只有一个血量不可能会有三个血量,但是现在就找到了三个这时就涉及到一个区分真伪的操作,但是这三个都是真的,因为它能够根据血量的变化而变化,但是它们都不是真正原始的数据,使用 Cheat Engine 改它们的数据会立马变回原来的值(236),这个游戏叫火炬之光它不是一个网络游戏只是一个单机游戏,这个时候修改不了数据并不是加密了而是它有一段代码会不停的给这三个内存地址重新赋值,我们找到的并不是它真正的的血量,游戏中有人物信息或者其它位置有用到血量,这三个值很可能就那些地方的,而真正的血量现在可以得出它并不是int类型,它时float类型

所以当一个单机游戏搜索到多个等同的值这并不是加密而是一个正常的行为,出现多个等同的值可以理解位游戏中有个界面有用到血量这个值这些等同的值就是那些界面中用的。

然后一个网络游戏,它的坐标是6460然后6460也可以用short类型存放然后它可以搜到一堆

然后坐标更改之后点再次扫描什么数据都找不到了

然后使用浮点型再找一次,也可以找到

然后更改坐标,不用点再次扫描都可以看出没找到坐标,刚刚找火炬之光没有找到是因为数据类型不对使用浮点型之后是可以正常找的,而下图中的游戏short与float都用的也没找到这种情况是因为它加密了当内存找不到的时候有两种情况第一种数据类型错误,第二种数据加密,如果找到两个说明用的数据副本,加密的数据如何找后面会写


 

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

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

相关文章

横版闯关手游【全明星时空阿拉德】Linux手工服务端+运营后台+双app端

横版闯关手游【时空阿拉德】(【全明星阿拉德】)阿拉德系列2022整理Linux手工服务端余额充值后台安卓苹果双端。 运营后台看目录结构是thinkphp开发的。 代码免费下载:百度网盘

再识Clip

来源 CLIP损失函数的理解-CSDN博客 Simple Implementation of OpenAI CLIP model: A Tutorial | Towards Data Science 【小白】一文读懂CLIP图文多模态模型_clip模型-CSDN博客 从 CLIP 聊聊多模态自监督学习新范式 - 知乎 (zhihu.com) CLIP 论文逐段精读【论文精读】_哔哩…

BC173 牛牛逆序输出(c 语言)

1.// 描述 //牛牛在尝试把一个整数逆序地输出。 //输入描述: //输入一个正整数 n。保证个位数不是 0 //输出描述: //逆序输出这个正整数。 //2345 //5432 2.我们先输入n,然后我们进行取余,然后将余数存储起来在arr中,然后除10。…

串口接收不到数据之电阻虚焊bug分析思路

单片机和EC移远通信模块进行通信,相同的代码运行在相同的硬件上,但是一个能联网,一个因为没有EC的应答连不上网。 开始分析,排除软件问题,给EC模块发为什么没应答? 1.发送失败 2.接收失败 排除情况2&#x…

redis底层—网络模型

1.用户空间和内核空间 2.阻塞IO 3.非阻塞IO 4.IO多路复用 select模式的三个问题: 能监听的FD最大不超过1024 每次select都需要把所有要监听的FD都拷贝到内核空间 每次都要遍历所有FD来判断就绪状态 poll模式的问题: poll利用链表解决了select中监听FD上限…

基于RFID技术的光交箱哑资源智能化管理方案

一、现状 (一)现状与挑战 在当前通信网络基础设施中,哑资源如光缆接头、跳线等在网络中占据着重要地位。然而,传统的哑资源管理方式存在诸多问题,一方面,管理主要依赖人工记录和定期巡检,效率…

活动|华院计算宣晓华受邀出席“AI引领新工业革命”大会,探讨全球科技的最新趋势

8月31日,“AI引领新工业革命”大会于上海图书馆圆满落幕。本次大会由TAA校联会和台协科创工委会联合主办,得到上海市台办、上海市台联、康师傅的大力支持。大会邀请了NVIDIA全球副总裁、亚太区企业营销负责人刘念宁,元禾厚望资本创始合伙人潘…

【视频教程】GEE遥感云大数据在林业中的应用与典型案例实践

近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

基于STM32C8T6的CubeMX:HAL库点亮LED

三个可能的问题和解决方法: 大家完成之后回来看,每一种改错误都是一种成长,不要畏惧,要快乐,积极面对,要耐心对待 STMCuBeMX新建项目的两种匪夷所思的问题https://mp.csdn.net/mp_blog/creation/editor/1…

网络基础入门指南(三)

一、远程管理交换机 1.配置IP地址 远程管理需要通过IP地址访问网络设备交换机的接口,默认无法配置IP地址需要使用虚接口vlan1 2.配置远程登录密码 远程管理需要配置VTY接口VTY是虚拟终端,是一种网络设备远程连接的方式vty 0 4表示可同时打开5个会话 3…

1.C++入门1(c++编译过程,命名空间,C++输入输出,缺省参数)

⭐从本章开始学习c,此篇文章作为c专栏的第一篇文章。 ⭐本人c代码的Gitee仓库:c学习 橘子真甜/yzc的c学习 - 码云 - 开源中国 (gitee.com) 目录 一.编程过程 二.命名空间(namespace) 2.1 为何要用命名空间 2.2 命名空间的定义…

2024.9.11

在界面上显示当前时间,再设置一个闹钟,到了时间就吱吱响(至少5遍) #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),speecher(new QTe…

Fiddle的使用------一个非常好用且正规的抓包工具

Fiddle的下载安装(看完再去下载安装) https://www.telerik.com/download/fiddler 1.点击连接,在表格填上数据,点击下载,下载结束了就安装,一路next就可以了。 2.修改一下设置 以上跟我一样设置&#xff…

鼠标hover过渡动画(已验证)

基于css中的grid方案实现的一个hover小动画&#xff0c;以下代码基于vue2&#xff0c;其他的可以直接复制html和css就可以&#xff0c;注意&#xff1a;以下代码在部分浏览器不兼容 注&#xff1a;部分代码来自我接入的GPT4o/Claude网站 <template><div class"h…

全国各地身份证号开头6位数字及地区对照表

具体请前往&#xff1a;全国各地身份证号开头6位数字-省市县/区对照表

数据库中的主码、候选码、主属性、非主属性

参考链接 候选码、主码、全码、外码、主属性、主键、主关键字、非主属性清晰总结 - 知乎 (zhihu.com) 1.码&#xff1a; 能够标识一条记录的属性或者属性集 2.候选码 能够标识一条记录的最小属性集 任一候选键的任何真子集都不能唯一标识一个记录&#xff08;比如在成绩表…

用Python爬虫制作一个简易翻译器

我们通常是通过requestsBS4的方法来获取网页内容&#xff0c;这种方法导入模块较多&#xff0c;速度相对有点儿慢&#xff0c;此时我们可以用requests的post方法向指定服务器发送请求&#xff0c;获取数据后格式化为json&#xff0c;然后获取相关键值。这种方法用到了requests和…

shell学习3---for循环

for循环格式 基本格式 for 变量名称(注意是名称不是变量$等) [ in 名称范围 ] (可以不写) do 执行内容 &#xff08;若满足循环则做什么动作&#xff09; done &#xff08;for循环结束标志&#xff09; 名称范围是字符 [rootserver1 ~]# ./for…

google vr 入门之VrPanoramaView制作全景图列表(1)

展示图片的列表我这里使用RecycleView&#xff0c;activity_main.xml <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android“http://schemas.android.com/apk/res/android” xmlns:tools“http://schemas.android.com/tool…

【orin-nx Linux下创建简单C++项目 CMake构建编译系统】

【注意】&#xff1a;需要安装gcc 和 cmake 安装视频 #.sh 文件添加权限 chmod x cmake-3.30.3-linux-aarch64.sh1、在root下创建一个文件夹testaubo 2、在testaubo文件夹下创建5个文件夹以及一个cmake文件 2.1、【src】 文件夹存放C的 .cpp文件2.2、【include】 文件夹存…