【反外挂】内存加密与监视

news2024/11/25 16:19:38

前言

手游防破解防外挂技术方案(一)客户端篇

各种作弊方案中,其中一种是直接修改内存数据,如下。

若要修改玩家当前的金币数,先用工具在内存中搜索当前的金币数值,会搜出来很多内存地址。然后消耗一些金币,在之前的内存地址中再搜索当前的金币数,得到较少的匹配地址。重复该步骤,直到只剩一个地址匹配,就是存放金币的内存地址。最后,通过工具更改该地址存储的数值,就能把金币数改成一个很大的数值。
要防止这种工具的破解,就需要对内存数据做加密,让工具搜索不到该数据所在的内存地址。

今天看JEngine源码,发现有加密内存的处理,这篇讲一下是如何做的。

JEngine JInt

自定义类型

原理很简单,就是自定义基本类型,在get set时做一些特殊处理,比如这个框架定义的JInt
在这里插入图片描述

JInt

虚假数据

这个类需要有三个数据,真实值。 加密的key。加密后的值。

每次设置值的时候,生成一个随机数,和真实值混合重新生成一个加密后的值。

获取值的时候需要判断一下计算出来的原始值和真实原始值是否发生了变化,发生了变化,就代表修改了内存,进行相应的处理。

以上面修改金币为例。如果自己在内存中修改了金币原始值。在获取的时候。加密值和加密的key都没变,计算出来的真实的原始值就会和修改后的字不一样。
在这里插入图片描述

修改内存后的处理

AntiCheatHelper.OnDetected(); 就是修改内存后的回调。这个可以自己设置。框架中是只打印了一条日志。

自己处理的话,检测到内存修改可以给服务器发个请求。服务器再做相应的处理。
在这里插入图片描述

其他类型

其他数据类型同理

问题

实际上这种并没有实现前言引用文章中所说的内存加密效果。

还是能很轻易的找到金币这块儿内存所在。只是加了一个监视效果,能让开发者知道内存被修改了。

如果要实现加密内存的话,应该是存取的时候进行加密与解密。但是这样又不能起到监视内存的效果,因为如果要监视内存就一定要存原始值。从而比较内存是否改变。不过加密后对于破解者直接找内存地址已经不容易了。

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

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

相关文章

Java集合概述

集合概述 集合是一个容器,是一个载体,可以一次容纳多个对象。前面学习的数组其实就是一个集合。 集合不能直接存储基本数据类型,基本数据类型都是经过自动装箱后变成包装类型存放的; 集合也不能直接存储Java对象,集合中存储的是Java对象的内…

扫码点餐小程序源码 多商户外卖点餐自助扫码预约源码

智慧餐厅扫码点餐小程序系统源码,二维码点餐,微信支付宝点餐系统源码,外卖点餐源码 1. 开发语言:JAVA 2. 数据库:MySQL 3. 原生小程序 4. Sass 模式 5. 带调试视频 6. 可付费调试服务 私信了解更多!…

VCS3 debug的基础

1、基础知识 使用命令行进行debug。 使用VCS进行debug的三种方式:专门做debug的工具目前最好的是Verdi 1、系统函数的调用 2、通过命令行的方式 3、使用DVE(GUI) debug需要注意的因素: 1、仿真速度(开关选项(command_time\ru…

超长距离CDN类视频直播延时估算

超长距离RTMP视频直播延时估算值。 摘录内容如下: 简单估算一下大概的网络延时。众所周知,光在真空中的速度约为300,000km/s,而在其他介质中光速会大大降低,所以在普通光纤中,工程上一般认为传输速度是200,000km/s。…

jsp+ssm计算机毕业设计ssm新冠疫苗预约接种信息管理【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

Pytest框架测试用例规则和运行方式

目录 一、默认的测试用例规则 二、测试用例执行顺序 三、测试用例运行方式 3.1.主函数模式 3.1.1.主函数模式:4种运行方式 3.1.2.文件框架如下图 3.2.命令行模式 3.2.1.命令行模式:4种运行方式 3.2.2.第2种运行方式框架 3.3.通过读取配置文…

【JAVA】抽象类和接口

🏆今日学习目标:抽象类和接口 😃创作者:颜颜yan_ ✨个人主页:颜颜yan_的个人主页 ⏰本期期数:第二期 🎉专栏系列:JAVA 文章目录一、抽象类抽象类的定义规则示例二、接口接口定义与语…

Volatile关键字简述

Volatile关键字前言前置知识程序、进程、线程程序进程线程并发所涉及的一些特性线程安全原子性可见性Volatile案例环境代码展示可见性测试原子性测试前言 最近在看《Java并发编程实战》,期望对一些并发的知识点做一些总结。最好有一定的Java基础、并发的基础。 前…

Qt 一个信号对应多个槽,多个信号对应一个槽的执行顺序

前言: Qt独创的信号槽机制,不仅可以一个信号连接一个槽,而且可以一对多或多对一。 这其中存在两个最基本的问题: 1.一个信号对应多个槽时,槽函数的执行顺序是怎样的??? 2.多个信号对…

【操作系统三】图解网络IO(bio\nio\slect\epoll)

【操作系统三】图解网络IO实战一、计算机组成二、系统中断三、晶振(时间中断、分时复用)四、事件中断1、DMA2、事件中断3、网卡也会产生中断?五、linux系统知识1、linux下一切皆文件?1.1、nc启动一个服务端,端口号80801.2、linux下…

vulnhub靶机:matrix:1

目录 查看靶机的ip 开放端口扫描 解密 字典生成爆破 ssh登录 rbash逃逸 下载地址:Matrix: 1 ~ VulnHub Kali地址:192.168.174.128 靶机地址:192.168.174.139 这个靶机是我在刷到的一个视频,讲解这个靶机的博主比较有趣&a…

web网页设计期末课程大作业:水果网站设计——HTML+CSS+JavaScript水果超市(带论文)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

大一学生Web课程设计 HTML+CSS保时捷汽车介绍(可以很好的应付老师的作业)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

2022CTF培训(八)ARM PWN 环境搭建ARM PWN 入门

附件下载链接 环境搭建 QEMU qemu是一款可执行硬件虚拟化的虚拟机,与他类似的还有Bochs、PearPC, 但qemu具有高速(配合KVM)、跨平台的特性 qemu主要有两种运行模式:qemu-user 和 qemu-system qemu-system 可以进行…

[附源码]Python计算机毕业设计高校互联网班级管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

[附源码]Nodejs计算机毕业设计基于的开放式实验室预约系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

k8s编程operator实战之云编码平台——④web后端实现

文章目录1、简介1.1 目录结构1.2 开发模式2、数据库设计2.1 user表2.2 space_template和space_kind表2.3 space和spacespec表3、gRPC客户端4、数据库访问4.1 mysql4.2 redis5、缓存加载5.1 通用缓存5.2 数据加载6、功能开发6.1 用户登录6.2 获取所有模板6.3 创建工作空间6.4 创…

如何进行C++动态转换

📒博客主页: ​​开心档博客主页​​ 🎉欢迎关注🔎点赞👍收藏⭐留言📝 📌本文由开心档原创! 📆51CTO首发时间:🌴2022年12月12日🌴 ✉…

如何评价「仙剑奇侠传六」使用Unity 3D引擎?

2022年看到问题,根据2022年Unity3D、Unreal Engine及仙剑六来一波“穿越马后炮式”回答。 1: 2022年看到问题,根据2022年Unity3D、Unreal Engine及仙剑六来一波“穿越马后炮式”回答。 1: 仙剑奇侠传六确为unity引擎制作&#…

大学生简单静态HTML网页模板源码——家乡介绍美丽乡村11页

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…