108.游戏安全项目:信息显示二-剑侠情缘基址分析

news2024/9/28 13:27:19

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

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

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

上一个内容:107.游戏安全项目-基址更新后定位方法

血量的地址是基址 + CEF18的位置,当前基址是400000

然后这个地址是一个绿色的,绿色的一定会是全局变量,但是当切换进度的时候它又会变

切换进度发生改变,变成了基址+B5ACC,所以这样的可以猜测为声明人物属性的变量时是用的数组,一个全局的数组,内存地址的变化是因为访问数组的下标变了

然后接下来要逆向分析找 数组的起始点 与 索引,数组的起点也就是 数组[0] 的位置,索引就是当前是用什么来代表的人物。

然后右击选择是什么访问了它

然后就出来了两个,如果没有的话在游戏中使用一下加血的技能就会有了

它们所有的访问都是以 4B51D0 为开头进行的访问,然后加上了什么什么,它就很可能是数组的基址,上图红框附近的代码

edx * 4 + 4B51D0代表了人物血量

首先 eax=*ecx;

假设eax结果是1;

edx = eax+eax*8 也就是edx = eax*9

然后 shl 是左移运算符,edx << 6; 也就是 edx = eax * 576 ,具体可以看图1

然后 sub 是减法 也就是edx = edx - eax 也就是等于 edx = 576* eax-eax 也就等于edx = 575* eax 575 * 4 + 004B51D0 也就是等于 2300 + 4B51D0 也就是

eax是0的时候人物地址是4B51D0

eax是1的时候人物地址是4B51D0 + 2300

eax是2的时候人物地址是4B51D0 + 4600

然后在找到ecx 的值就可以了,它的值是索引,通过它可以找到人物对象地址 

 

图1:

然后ecx的值是537400

537400 - 游戏基址的结果在游戏pe中,符合全局变量的条件

然后人物的数组是来自于 4B51C0(4B51D0是血量),索引来自于游戏基址 + 0x137400位置,然后人物的地址就是 4B51C0 + 索引 * 8FC 这样计算获取,8FC的十进制是2300


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

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

相关文章

spring-boot web + vue

依赖的软件 maven 1. 官网下载zip 文件&#xff0c;比如apache-maven-3.9.9-bin.zip 2. 解压到某个盘符&#xff0c;必须保证父亲目录的名字包含英文&#xff0c;数字&#xff0c;破折号&#xff08;-&#xff09; 3. 设置环境变量M2_HOME, 并将%M2_HOME%\bin添加到windown…

openpnp - 散料飞达不要想着做万能版本,能够贴合现有的物料就好

文章目录 openpnp - 散料飞达不要想着做万能版本&#xff0c;能够贴合现有的物料就好概述笔记天真的版本改进的版本物料编带标准物料编带的样式对于散料飞达关心的尺寸不同编带宽度的散料飞达关键尺寸的列表8mm物料编带12mm物料编带16mm物料编带24mm物料编带32mm物料编带44mm物…

【Linux】环境变量(初步认识环境变量)

文章目录 1. 环境变量1.1 基本概念 2. 认识常见环境变量2.1 PATH2.2 HOME2.3 SHELL2.4 PWD2.5 USER 3. 理解环境变量 1. 环境变量 在main函数的命令行参数中&#xff0c;有argc、argv、env三个参数。 argc&#xff1a;命令函参数的个数argc&#xff1a;存放每个参数的具体数值…

FPGA学习(1)-mux2,2选1多路器

目录 1 开发板配套资料 1.1学习网址和资料网址 2.创建工程文件 2.1创建过程 2.2写程序及仿真测试 2.2.1 写程序生成电路 2.2.2仿真 2.2.3 生成执行文件并烧录 3.实验现象 买的小梅哥店铺的开发板&#xff1a;xc7z020clg400 看的小梅哥的视频&#xff1a;03C _基于ZYN…

提取出散射矩阵归一化相位的含义

散射矩阵的值是从图像中获得的&#xff0c;相位角是距离导致的&#xff0c;所以要归一化&#xff0c;VV/HH VV幅度/HH幅度。 VV相位-HH相位

Java-数据结构-Map与Set-(一) ٩(๑>◡<๑)۶

文本目录&#xff1a; ❄️一、搜索树&#xff1a; ☑ 1、概念&#xff1a; ☑ 2、操作-插入&#xff1a; 代码&#xff1a; ☑ 3、操作-查看&#xff1a; 代码&#xff1a; ☑ 4、操作-删除&#xff1a; 代码&#xff1a; ☑ 5、性能分析&#xff1a; ❄️二、搜索&#…

如何在Ubuntu上查看和刷新DNS缓存

DNS缓存是用于DNS查找的临时存储系统&#xff0c;负责将域名转换为IP地址。进行DNS查询时&#xff0c;系统会检查缓存中的相关信息。如果找到了&#xff0c;那么它会加速域名解析的过程。如果DNS缓存中的数据过时或不正确&#xff0c;则需刷新它以确保使用正确的信息。本文主要…

自己掏耳朵怎么弄干净?双十一必买的四大可视挖耳勺分享

我们在掏耳朵时是不是老是觉得要么掏不干净&#xff0c;要么太进去了弄到痛耳朵。因为耳道属于我们一个盲区&#xff0c;在使用棉签或者普通耳勺容易因为操作不当弄伤耳膜。可能还会照成不可逆的后果。所以自己在掏耳勺更加推荐大家使用可视挖耳勺会更加干净和安全。那么&#…

【MATLAB代码】二维环境下的RSSI定位程序,自适应锚点数量,带图像输出、坐标输出、中文注释

程序描述 MATLAB编写的RSSI定位程序&#xff0c;自适应锚点数量&#xff0c;带图像输出、坐标输出、中文注释。 功能概述&#xff1a; 本程序实现了在二维平面上通过接收信号强度指示&#xff08;RSSI&#xff09;进行定位的功能。它使用多个锚节点的信号强度测量来估计未知…

CSS链接

链接是网站的重要组成部分&#xff0c;几乎在每个网页上都能看到不少的链接&#xff0c;合理的设计链接的样式能够给网页的颜值加分。链接有四种不同的状态&#xff0c;分别是 link、visited、active 和 hover&#xff0c;可以通过以下伪类选择器来为链接的四种状态设置不同的样…

CentOS8使用chrony同步网络时间

文章目录 引言I CentOS8使用chrony网络时间同步安装chrony配置间同步服务器地址检查本机的时区设置时区chronyc命令II windows网络时间同步2.1 修改同步服务器2.2 修改同步频率引言 应用场景: 获取服务器时间进行船舶在线率统计 dtos.forEach(item -> {if(item.getDwtime(…

红绿灯倒计时读秒数字识别系统源码分享

红绿灯倒计时读秒数字识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …

数据结构——初识树和二叉树

线性结构是一对一的关系&#xff0c;意思就是只有唯一的前驱和唯一的后继&#xff1b; 非线性结构&#xff0c;如树形结构&#xff0c;它可以有多个后继&#xff0c;但只有一个前驱&#xff1b;图形结构&#xff0c;它可以有多个前驱&#xff0c;也可以有多个后继。 树的定义…

kubeadm部署k8s集群,版本1.23.6;并设置calico网络BGP模式通信,版本v3.25--未完待续

1.集群环境创建 三台虚拟机&#xff0c;一台master节点&#xff0c;两台node节点 (根据官网我们知道k8s 1.24版本之后就需要额外地安装cri-dockerd作为桥接才能使用Docker Egine。经过尝试1.24后的版本麻烦事很多&#xff0c;所以此处我们选择1.23.6版本) 虚拟机环境创建参考…

【LeetCode】动态规划—63. 不同路径 II(附完整Python/C++代码)

动态规划—63. 不同路径 II 前言题目描述基本思路1. 问题定义:2. 理解问题和递推关系:3. 解决方法:3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化:5. 小总结: 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 本文将探讨“不同路径 II”这一问…

线性跟踪微分器TD详细测试(Simulink 算法框图+CODESYS ST+博途SCL完整源代码)

1、ADRC线性跟踪微分器 ADRC线性跟踪微分器(ST+SCL语言)_adrc算法在博途编程中scl语言-CSDN博客文章浏览阅读784次。本文介绍了ADRC线性跟踪微分器的算法和源代码,包括在SMART PLC和H5U平台上的实现。文章提供了ST和SCL语言的详细代码,并讨论了跟踪微分器在自动控制中的作用…

深入理解 Nuxt.js 中的 app:error 钩子

title: 深入理解 Nuxt.js 中的 app:error 钩子 date: 2024/9/27 updated: 2024/9/27 author: cmdragon excerpt: 摘要:本文深入讲解了Nuxt.js框架中的app:error钩子,介绍其在处理web应用中致命错误的重要作用、使用方法及实际应用场景。通过创建Nuxt项目、定义插件、触发…

基于nodejs+vue的水产品销售管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

Could not find com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0.解决

AndroidStudio编译APK出现如下错误&#xff1a; Could not find com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0. 出现上面错误原因是因为没有打开对应的仓库导致的&#xff0c; 手动添加如下创建地址可解决&#xff1a; maven { url https://maven.aliyun.com/repos…

vue项目中的node、node-sass、sass-loader之间的版本关系

这个报错&#xff0c;想必大部分人都会遇到&#xff0c;版本不适配的问题&#xff0c;记录下解决方案。 版本适配问题 node 与node-sass node-sass与sass-loader sass-loader 4.1.1&#xff0c;node-sass 4.3.0sass-loader 7.0.3&#xff0c;node-sass 4.7.2sass-loader 7.3.…