我爱辅助论坛

 找回密码
 【点我注册】

QQ登录

只需一步,快速开始

查看: 1765|回复: 0

[视频教程] 任鸟飞谈逆向----《dnf》加密解密

[复制链接]

该用户从未签到

发表于 2017-12-11 20:52:18 | 显示全部楼层 |阅读模式
微信公众号  任鸟飞逆向

网络游戏客户端有很多数据是不想让别人读取到的
这个时候就会对重要的游戏数据进行加密
极端情况下还可能对所有数据进行加密
加密有简单的加密和复杂的加密,简单的加密例如QQ仙侠传人物坐标*1000  天涯明月刀血量xor一个常量,这些简单的加密只是起到你不能用CE,八门神器,烧饼修改器一类的内存搜索工具直接扫描到目标地址的效果,作用微乎其微,阻挡入门级逆向人员
再就是复杂一些的加密解密算法,里面还可能掺杂着大量的VM和混淆,这种就较难分析,如果vm严重的话是偷不出来功能的,只能调用函数,那么检测的风险同时也加大。
在能偷出伪代码的时候  一定是选择偷出来最好的,可以动态调试锁定位置,然后用IDA进一步分析加密算法。
说到这里,我们拿DNF的加密解密做实例进一步的讲解
首先我们扫描人物的血量,虽然人物血量是加密的,但是明文血量一样可以扫描的到,因为他需要显示到游戏的界面上,当然有的游戏加密以后,扫描不到明文怎么办?扫描字符串,因为他只要显示,必然要有内存地址存放的。
得到血量以后我们就应该去找他的来源
如果血量不是加密的  那么我们直接应该追到人物对象.
如果是加密的  那么我们就应该追到解密算法,过程是这样,人物对象下存放的加密血量,
经过解密函数返回真实血量,然后再通过写屏函数等显示到游戏里面
知道这样的过程我们就很容易的去断加密函数了
对明文血量下写入断以后我们在堆栈中找明文血量最早出现的位置(其他位置不可能是最开始的解密过程如果不跳过去  完全是在浪费时间)
往上追其来源
来到上图的位置  是这个函数的返回值
函数里面是复杂的解密算法,大家可以自行分析,直接调用也好,IDA翻译代码也好,直接复制偷出来功能也好,看自己心情
可以看到算法很复杂,并没有什么真实意义,完全为了加密

温馨提示:为了保护系统安全,使用辅助前,请务必使用影子系统。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【好评】【金币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 【点我注册】

本版积分规则

QQ|小黑屋|我爱辅助 ( 辽ICP备19006053号-1 )

GMT+8, 2025-5-2 15:46 , Processed in 0.493779 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表