运行内存数据加密加密
前言
对于单机游戏,或者客户端跑游戏逻辑且服务器不验证的网游,需要一些反作弊手段。
内存数据加密, 游戏数据合理性检测, 服务器重跑验证等都是有效的方案。
本文主介绍内存数据加密。
正文
内存修改器原理:
修改器修改的数值都是在内存中常驻的,也就是说,数值在内存中的地址是不变的。
我们通过一个例子来看修改器的基本流程。
比如游戏内金币为100, 修改器先搜100,会得到值为100的变量内存地址。
等金币变200后,再搜200。
一般重复3到4步操作,修改器就能定位到金币这个变量所在的内存地址。
接着就是修改。
在基本搜索之外,一些强大的修改器还提供了模糊搜索和反加密搜索。
模糊搜索:
一些类似于血条等看不到具体数字的数值,模糊搜索提供了搜索“变大”、“变小”、“变化了”、“没变化”等操作,进行内存筛选。
模糊搜索的步骤比直接搜数值要多,一般要重复7到10步操作才能找到变量对应的内存地址。
反加密搜索:
顾名思义,当数值经过加密后存放到内存中时,需要反加密才能找到内存地址。一般都是简单的异或加密或者倍值加密公式。
如何进行内存加密
内存加密一般分为可逆加密和不可逆加密
可逆加密:
显示的数据 ~= 内存的数据。
将内存中常驻的数据加密起来,在显示的时候解密即可。
例如简单的异或加密或者y = nx + m。
有兴趣的可以搜索一些复杂的加密算法。
不可逆加密:
显示的数据 == 内存的数据。将存储变量加密,保存在验证变量中。
在每次使用变量之前,将变量加密与验证变量对比,这样就能发现是否内存被修改。
例如计算变量的md5值,并保存起来,下次取值时,先进行md5验证。
除了加密:
除了加密外,还有些很有用的小技巧。
不断变化敏感数值的内存存储地址:将读写变量的方法封装成set和get两方法, 调用set方式时自动切换变量存储地址、变化加密密钥等。
取敏感数值时进行范围判断。比如商店商品价格不可能为负数,单局战斗奖励数量不可能突破天际。
运行内存数据加密加密相关推荐
- 三种云存储加密的方法
云计算是一个可靠.安全的数据存储中心,但当存储在云端的数据形成规模之后,数据安全成为一种迫切需要解决的问题.为解决数据隐私的保护问题,常见的方法是对数据进行加密,把加密后的密文信息存储在服务端. 这3 ...
- linux -对称加密、 非对称加密
对称加密 加密和解密用的是相同的密码. 安全强度依赖密码的强度. 加密和解密效率非常快. 非对称加密 加密和解密用的是不相同的密钥. 效率非常低,不适合对大尺寸数据进行处理. 私钥 是钥匙持有人自己生 ...
- tde数据库加密_如何在TDE加密的数据库上配置SQL Server镜像
tde数据库加密 Securing and encrypting sensitive data stored in your production databases is a big concern ...
- 【对称加密与非对称加密】-- 概念、图示、优缺点
对称加密与非对称加密 数据加密 对称加密 非对称加密 数据加密 加密过程:数据 + 密钥 = 密文 解密过程:密文 - 密钥 = 数据 对称加密 概念:加密算法是公开的,靠的是秘钥来加密数据,使用一个 ...
- 用不可逆算法MD5进行加密后,如何进行登录验证
一.为什么要选择MD5加密算法进行数据加密 加密对任何系统来说,都是尤为重要的.无论是网站还是时下火热的APP,只要涉及到用户的注册和登录,都要考虑用户登录信息的安全问题.时下流行的加密算法有很多,选 ...
- API 接口认证与传输数据加密
应用场景 cmdb 这类项目的资产入库等操作,当agent 与server 端通过api 进行数据交互时,为了安全采取了两项安全措施:1.server 端需要对agent 端进行身份验证(避免有冒充a ...
- java加密与解密(二)
七. 高等数据加密--非对称加密算法 我们可能没有在瑞士苏黎世银行存入巨额资产的机会,但相信大多数人都在电影中见到这样一组镜头:户主带着自己的钥匙来到银行,要求取出自己寄放的物品.银行 ...
- mysql 非对称密钥_sqlser 2005 对称加密,非对称加密笔记
一:对称加密 原始明文---密钥---加密数据---密钥---原始明文 速度快,通过算法将明文混淆,占用系统资源少 二:非对称加密 加密解密速度慢,较高的系统资源占用 三:混合数据加密 加密过程:随机 ...
- Python 简单数据/密码加密方法
# 简单数据加密""" 加密方法:1.获取所有字符ASCII码,进行累加2.拼接所有字符ASCII码,顺序拼接3.把顺序拼接的ASCII码,倒序排列4.把倒序排列的ASC ...
最新文章
- 【转】DICOM命令集和数据集解析!!
- React Native工程中TSLint静态检查工具的探索之路
- Controller计算值传到jsp页面,用session传值
- Flask 应用部署方式之 Flask+Gunicorn+Nginx
- linux 命令查看块设备,系统运维|用 Linux blkid 命令查找块设备详情
- SVN中Branch/tag的比较
- ios10前台收到推送_IOS - 前台时的推送弹窗效果
- EasyEarth三维可视化解决方案——智慧园区
- jdbc executebatch 非事务_jdbc技术
- Error connecting to database: No such file or directory
- Intent以及IntentFilter详解 1
- GB28181协议--GB28181协议简介
- 智能硬件开发怎么做?机智云全套自助式开发工具助力高效开发
- 计算机知识论,计算机科学与技术中的系统论与辩证法
- 2021年年总结:你无法让每个人都满意,甚至是大多数人。
- 关于isalpha——计算英文单词的个数
- java ftp输出流_java输出流实现文件下载
- Android大小单位转换工具类
- java库函数-----Math库函数(每日一更)
- java字节字符_java中字符和字节的区别
热门文章
- android 仿ios带弹簧效果的ScrollView
- UMLChina建模竞赛第3赛季第3轮(《人月神话》专场)
- 麒麟软件副总裁李震宁:中国开源社区是操作系统破局的土壤
- Symantec Backup Exec 2010 安装报 bad ELF interpreter: No such file or directory
- FPGA与CPLD的概念及其区别
- 1词法分析PaddleNLP / examples / lexical_analysis
- 详解电子配线架的应用
- KEYSIGHT示波器 MSO-X 3024A 简单操作说明
- 软件逆向工程学习(一)
- iOS7适配问题总结