前言

对于单机游戏,或者客户端跑游戏逻辑且服务器不验证的网游,需要一些反作弊手段。 
内存数据加密, 游戏数据合理性检测, 服务器重跑验证等都是有效的方案。 
本文主介绍内存数据加密。

正文

内存修改器原理:

修改器修改的数值都是在内存中常驻的,也就是说,数值在内存中的地址是不变的。

我们通过一个例子来看修改器的基本流程。 
比如游戏内金币为100, 修改器先搜100,会得到值为100的变量内存地址。 
等金币变200后,再搜200。 
一般重复3到4步操作,修改器就能定位到金币这个变量所在的内存地址。 
接着就是修改。

在基本搜索之外,一些强大的修改器还提供了模糊搜索和反加密搜索。

模糊搜索: 
一些类似于血条等看不到具体数字的数值,模糊搜索提供了搜索“变大”、“变小”、“变化了”、“没变化”等操作,进行内存筛选。 
模糊搜索的步骤比直接搜数值要多,一般要重复7到10步操作才能找到变量对应的内存地址。

反加密搜索: 
顾名思义,当数值经过加密后存放到内存中时,需要反加密才能找到内存地址。一般都是简单的异或加密或者倍值加密公式。

如何进行内存加密

内存加密一般分为可逆加密和不可逆加密

可逆加密

显示的数据 ~= 内存的数据。

将内存中常驻的数据加密起来,在显示的时候解密即可。 
例如简单的异或加密或者y = nx + m。 
有兴趣的可以搜索一些复杂的加密算法。

不可逆加密:

显示的数据 == 内存的数据。将存储变量加密,保存在验证变量中。

在每次使用变量之前,将变量加密与验证变量对比,这样就能发现是否内存被修改。 
例如计算变量的md5值,并保存起来,下次取值时,先进行md5验证。

除了加密:

除了加密外,还有些很有用的小技巧

不断变化敏感数值的内存存储地址:将读写变量的方法封装成set和get两方法, 调用set方式时自动切换变量存储地址、变化加密密钥等。
取敏感数值时进行范围判断。比如商店商品价格不可能为负数,单局战斗奖励数量不可能突破天际。

运行内存数据加密加密相关推荐

  1. 三种云存储加密的方法

    云计算是一个可靠.安全的数据存储中心,但当存储在云端的数据形成规模之后,数据安全成为一种迫切需要解决的问题.为解决数据隐私的保护问题,常见的方法是对数据进行加密,把加密后的密文信息存储在服务端. 这3 ...

  2. linux -对称加密、 非对称加密

    对称加密 加密和解密用的是相同的密码. 安全强度依赖密码的强度. 加密和解密效率非常快. 非对称加密 加密和解密用的是不相同的密钥. 效率非常低,不适合对大尺寸数据进行处理. 私钥 是钥匙持有人自己生 ...

  3. tde数据库加密_如何在TDE加密的数据库上配置SQL Server镜像

    tde数据库加密 Securing and encrypting sensitive data stored in your production databases is a big concern ...

  4. 【对称加密与非对称加密】-- 概念、图示、优缺点

    对称加密与非对称加密 数据加密 对称加密 非对称加密 数据加密 加密过程:数据 + 密钥 = 密文 解密过程:密文 - 密钥 = 数据 对称加密 概念:加密算法是公开的,靠的是秘钥来加密数据,使用一个 ...

  5. 用不可逆算法MD5进行加密后,如何进行登录验证

    一.为什么要选择MD5加密算法进行数据加密 加密对任何系统来说,都是尤为重要的.无论是网站还是时下火热的APP,只要涉及到用户的注册和登录,都要考虑用户登录信息的安全问题.时下流行的加密算法有很多,选 ...

  6. API 接口认证与传输数据加密

    应用场景 cmdb 这类项目的资产入库等操作,当agent 与server 端通过api 进行数据交互时,为了安全采取了两项安全措施:1.server 端需要对agent 端进行身份验证(避免有冒充a ...

  7. java加密与解密(二)

    七. 高等数据加密--非对称加密算法         我们可能没有在瑞士苏黎世银行存入巨额资产的机会,但相信大多数人都在电影中见到这样一组镜头:户主带着自己的钥匙来到银行,要求取出自己寄放的物品.银行 ...

  8. mysql 非对称密钥_sqlser 2005 对称加密,非对称加密笔记

    一:对称加密 原始明文---密钥---加密数据---密钥---原始明文 速度快,通过算法将明文混淆,占用系统资源少 二:非对称加密 加密解密速度慢,较高的系统资源占用 三:混合数据加密 加密过程:随机 ...

  9. Python 简单数据/密码加密方法

    # 简单数据加密""" 加密方法:1.获取所有字符ASCII码,进行累加2.拼接所有字符ASCII码,顺序拼接3.把顺序拼接的ASCII码,倒序排列4.把倒序排列的ASC ...

最新文章

  1. 【转】DICOM命令集和数据集解析!!
  2. React Native工程中TSLint静态检查工具的探索之路
  3. Controller计算值传到jsp页面,用session传值
  4. Flask 应用部署方式之 Flask+Gunicorn+Nginx
  5. linux 命令查看块设备,系统运维|用 Linux blkid 命令查找块设备详情
  6. SVN中Branch/tag的比较
  7. ios10前台收到推送_IOS - 前台时的推送弹窗效果
  8. EasyEarth三维可视化解决方案——智慧园区
  9. jdbc executebatch 非事务_jdbc技术
  10. Error connecting to database: No such file or directory
  11. Intent以及IntentFilter详解 1
  12. GB28181协议--GB28181协议简介
  13. 智能硬件开发怎么做?机智云全套自助式开发工具助力高效开发
  14. 计算机知识论,计算机科学与技术中的系统论与辩证法
  15. 2021年年总结:你无法让每个人都满意,甚至是大多数人。
  16. 关于isalpha——计算英文单词的个数
  17. java ftp输出流_java输出流实现文件下载
  18. Android大小单位转换工具类
  19. java库函数-----Math库函数(每日一更)
  20. java字节字符_java中字符和字节的区别

热门文章

  1. android 仿ios带弹簧效果的ScrollView
  2. UMLChina建模竞赛第3赛季第3轮(《人月神话》专场)
  3. 麒麟软件副总裁李震宁:中国开源社区是操作系统破局的土壤
  4. Symantec Backup Exec 2010 安装报 bad ELF interpreter: No such file or directory
  5. FPGA与CPLD的概念及其区别
  6. 1词法分析PaddleNLP / examples / lexical_analysis
  7. 详解电子配线架的应用
  8. KEYSIGHT示波器 MSO-X 3024A 简单操作说明
  9. 软件逆向工程学习(一)
  10. iOS7适配问题总结