Cheat Engine 学习

news2024/11/27 19:37:43

文章目录

    • Exact Value scanning
      • 任务
      • 实现步骤
    • Unknown initial value
      • 任务
      • 实现步骤
      • 原理说明
    • Floating points
      • 任务
      • 实现步骤
      • 原理说明
    • Code finder
      • 任务
      • 实现步骤
      • 原理说明
    • Pointers
      • 任务
      • 实现步骤
      • 原理说明
        • Change Pointer 操作:
        • Active(活跃状态)和数值修改:
    • Code Injection
      • 任务概述
      • 实现步骤
      • 原理说明
    • Multilevel Pointers
      • 任务
      • 实现步骤
      • 原理说明
    • Shared code
      • 任务
      • 实现步骤
      • 原理说明

Exact Value scanning

任务

  • 底部窗口显示Health: xxx
  • 每次点击Hit me,健康值会减少。
  • 任务是找到并将健康值修改为1000

实现步骤

  1. 执行Exact Value扫描,选择 4 Bytes,输入当前健康值,点击First Scan,这是因为大多数游戏中的数据通常以2字节或4字节这两种格式存储。

  2. 如果有多个地址,不确定是哪一个,点击Hit me并输入新的健康值,再次扫描(Next Scan)。重复此步骤,直到确认唯一地址。

  3. 双击左侧列表中的地址,使其出现在下方列表中。双击该地址的数值,将值修改为1000

Unknown initial value

任务

在前一步中,我们使用精确数值扫描找到了一个已知值。这次我们将处理一个状态条,其初始值未知,但范围在0~500之间。每次点击Hit me,会减少一些健康值。

实现步骤

  1. 开始新扫描:
  • 点击New Scan开始新的扫描。
  1. 设置扫描类型和数值类型:
  • 数值类型设置为4字节(大多数Windows应用使用4字节)。
  • 扫描类型选择Unknown initial value
  • 点击First Scan进行初次扫描。
  1. 执行减少值扫描:
  • 点击Hit me减少健康值。
  • Cheat Engine中选择Decreased Value
  • 点击Next Scan进行下一次扫描。
  1. 重复扫描:
  • 重复点击Hit meDecreased Value扫描,直到只剩下几个可能的地址。
  1. 确定正确地址:
  • 因为我们知道值在0~500之间,选择最可能的地址并添加到列表中。
    修改健康值:
  1. 将健康值修改为5000以完成这一步骤。

原理说明

未知初始值扫描:当我们不知道初始值时,无法使用精确数值扫描。选择Unknown initial value进行初次扫描,将所有可能的内存地址作为候选。

减少值扫描:每次点击Hit me,健康值减少。选择Decreased Value进行扫描,可以过滤掉那些值未减少的地址,从而逐步缩小范围。

逐步缩小范围:通过多次点击Hit me和扫描,逐步减少候选地址数量,最终确定唯一的地址。

这个方法通过不断减少值的扫描,逐步确定未知初始值的内存地址,适用于初始值未知但范围已知的情况。

Floating points

在前面的教程中,我们使用了字节扫描。这次我们将处理以浮点数形式存储的数据。一些游戏使用浮点数来存储信息,以防止简单的内存扫描工具轻易找到这些数据。浮点数是带有小数点的数值(如5.12或11321.1)。

任务

修改健康值(float类型)和弹药值(double类型)5000或更高。

实现步骤

  1. 开始新扫描:
  • 点击New Scan开始新的扫描。
  1. 设置数值类型和扫描类型:
  • 设置健康值扫描:数值类型选择Float
  • 扫描类型选择Exact Value
  • 在数值框中输入当前健康值,点击First Scan进行初次扫描。
  1. 减少健康值并重复扫描:
  • 点击Hit me减少健康值。
  • 输入新的健康值,点击Next Scan
  • 重复点击Hit meNext Scan直到确定唯一地址。
  • 双击地址将其添加到下方列表中,修改值为5000
  1. 设置弹药值扫描:
  • 点击New Scan开始新的扫描。
  • 数值类型选择Double
  • 扫描类型选择Exact Value
  • 在数值框中输入当前弹药值,点击First Scan进行初次扫描。
  1. 减少弹药值并重复扫描:
  • 点击Shoot减少弹药值0.5
  • 输入新的弹药值,点击Next Scan
  • 重复点击ShootNext Scan直到确定唯一地址。
  • 双击地址将其添

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

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

相关文章

IS022000认证:食品安全管理的金标准

食品安全是食品行业的命脉,IS022000食品安全管理体系认证作为最权威的认证之一,为企业提供了强有力的保障。要理解IS022000认证的意义,我们需要先了解它与HACCP和IS09001认证的关系。 HACCP(Hazard Analysis and Critical Control…

【计算机毕业设计】基于springboot的大创管理系统【源码+lw+部署文档】

包含论文源码的压缩包较大,请私信或者加我的绿色小软件获取 免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…

从零入手人工智能(3)—— 线性回归

1.前言 实践是验证和理解理论知识的重要手段,在进行实际编程之前,我们首先确保编程环境已正确搭建。若编程环境尚未搭建完毕,建议参照《从零入手人工智能(2)——搭建开发环境》,文章链接如下: …

HAL库开发--第一盏灯

知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 需求 开发流程 项目创建 芯片配置 功能配置 时钟配置 项目配置 编写代码 编译测试 烧录失败解决 ​编辑 总结 前言 在嵌入式系统开发中,掌握HAL库开发流程、STMCubeMX配置过程以及…

PTrade量化策略API说明—PTrade如何获取分时成交行情:get_tick_direction

get_tick_direction – 获取分时成交行情 get_tick_direction(symbolsNone, query_date0, start_pos0, search_direction1, data_count50) 使用场景 该函数在交易模块可用 接口说明 该接口用于获取当日分时成交行情数据。 注意事项: 1、沪深市场都有分时成交数…

C#.Net筑基-类型系统①基础

C#.Net的BCL提供了丰富的类型,最基础的是值类型、引用类型,而他们的共同(隐私)祖先是 System.Object(万物之源),所以任何类型都可以转换为Object。 01、数据类型汇总 C#.NET 类型结构总结如下图…

Linux C语言:函数的基本用法及传参

一、函数的基本用法 1、main函数 int main(int argc, const char * argv[]) { printf("Hello world\n"); return 0; }数据类型 函数名称 (参数) { //.... return 表达式 } 2、函数 函数是一个完成特定功能的代码模块,其程序代码独立,通常要…

YOLOv8可视化界面PYQT5

yolov8,可视化界面pyqt。支持图片检测,视频检测,摄像头检测等,实时显示检测画面。支持自定义数据集,计数,fps展示……,即插即用,无需更改太多代码

Redis数据结构学习

Redis 关于redis相关的技术文章我一直没什么思路 直到最近的端午节,我偶然和一个程序员朋友聊到了关于redis数据结构相关的知识点, 所以我决定写一篇文章记录一下 首先我们需要知道redis支持哪些数据类型 Strings (字符串)Lists(列表)Hashes(哈希)Sets(集合)Sorted Sets(有序…

【机器学习】集成学习方法:Bagging与Boosting的应用与优势

🔥 个人主页:空白诗 文章目录 引言一、集成学习的定义二、Bagging方法1. 随机森林(Random Forest)2. 其他Bagging方法 二、Boosting方法1. 梯度提升树(Gradient Boosting Machine, GBM)解释GBM的基本原理和…

Flutter 自定义日志模块设计

前言 村里的老人常说:“工程未动,日志先行。” 有效的利用日志,能够显著提高开发/debug效率,否则程序运行出现问题时可能需要花费大量的时间去定位错误位置和出错原因。 然而一个复杂的项目往往需要打印日志的地方比较多&#…

[Python学习篇] Python循环语句

while 循环 语法&#xff1a; while 条件: 条件成立后会重复执行的代码 ...... 示例1&#xff1a;死循环 # 这是一个死循环示例 while True:print("我正在重复执行")示例2&#xff1a;循环指定次数 i 1 while i < 5:print(f"执行次数 {i}")…

Denoising Prior Driven Deep Neural Network for Image Restoration

之所以能够检索到这篇论文是想看看该论文是如何利用多尺度相似性解决图像去噪问题&#xff0c;除了摘要和结论&#xff0c;论文中两次提到这个术语。next section是指section 4。然后整个section 4&#xff0c;根本没有提多尺度的事儿&#xff0c;更别说解决了。又看了一下The …

智慧班牌系统源码,智慧校园云平台系统,基于小程序原生开发的智慧校园小程序源码

智慧班牌系统&#xff0c;也被称为电子班牌系统&#xff0c;是一款专为学校打造的信息化产品&#xff0c;用于加强学校班级文化建设和班级风采展示。该系统通过整合学校对外宣传、日常互动交流、教师教学办公、课外学习延伸、智能硬件接入等各种服务&#xff0c;为老师、家长、…

聊天页面样式

聊天页面样式 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><link rel"styleshee…

深度解析RocketMq源码-持久化组件(一) MappedFile

1. 绪论 rocketmq之所以能够有如此大的吞吐量&#xff0c;离不开两个组件&#xff0c;一个是利用netty实现的高性能网络通信组件&#xff1b;另一个就是利用mmap技术实现的存储组件。而在rocketmq的存储组件中主要有三个组件&#xff0c;分别是持久化文件commitLog&#xff0c…

UDP 协议详解与实战

目录 简介什么是 UDP&#xff1f;UDP 与 TCP 的区别 UDP 数据传输方式单播 - Unicast&#xff08;1:1&#xff09;广播 - Broadcast&#xff08;1:n&#xff09;有限广播 - Limited Broadcast直接广播 - Directed Broadcast 组/多播 - Multicast&#xff08;n:m&#xff09;任播…

Golang——gRPC认证和拦截器

一. OpenSSL 1.1 介绍 OpenSSL是一个开放源代码的软件库包&#xff0c;用于支持网络通讯过程中的加密。这个库提供的功能包含了SSL和TLS协议的实现&#xff0c;并可用于生成密钥、证书、进行密码运算等。 其组成主要包括一下三个组件&#xff1a; openssl&#xff1a;多用途的命…

智能化状态管理:自动状态流转处理模块

目录 基本背景介绍 具体实现 基本数据准备 基本数据表 状态转换常量 状态转换注解 任务处理模版 各任务实现逻辑 开启比对任务进行处理 降噪字段处理任务处理 开启业务数据比对处理 业务数据比对处理 开始核对数据生成最终报告处理 核对数据生成最终报告处理 状…

[渗透测试学习] SolarLab-HackTheBox

SolarLab-HackTheBox 信息搜集 nmap扫描端口 nmap -sV -v 10.10.11.16扫描结果如下 PORT STATE SERVICE VERSION 80/tcp open http nginx 1.24.0 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows n…