池州网站建设电话,专业集团门户网站建设,学做ppt的网站有哪些内容,佛山网站制作网页文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cpp dumper例子…
文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cpp dumper例子2-森林who is he后记认识unity
打包目录结构 dll一般很大因为里面是所有的游戏功能编译成的二进制码
游戏逆向流程
开发人员代码被编译打包到GameAssembly.dll中
使用il2ppDumper工具并借助游戏名 _Data\il2cpp_data\Metadata\global-metadata.dat恢复符号
使用IDA对该dII进行反编译
分析核心逻辑实现的代码(相对Mono困难)
根据分析结果对代码进行patch实现某种变态功能.
Unity游戏攻击面
数值修改 锁血 飞天 无限金币 攻击力翻倍 离谱功能 透视 自瞄 压枪 瞬移 内购破解
可被攻击原因
Unity引擎打包方式成为了外挂开发的帮凶!
mono的打包
C# 是解释型的语言–支持反射-----这个缺陷可以非常容易恢复打包的函数名变量名
建议方案
锁血
CE来搜索数值去确定血量的变量 然后把他固定
用IDA分析血量减sub的指令给他nop掉就不会扣血
飞天
管人物的高是z这个变量不停修改人物处在的位置CE 走坡走底锁定Z的变量
无限金币
数字修改就是内存挂 大同小异和前面的 去覆盖金币的变量
攻击力翻倍
找到攻击力是哪个变量去更改攻击力
以上统称内存挂
内存就比如说无后X特效广角不过内存都容易封
透视
去读内存里的数据
自瞄
去找人物的骨骼系统把准星设置到骨骼就是自瞄了
压枪
看枪后座的实现可能是一个浮点类型的变量根据手按左键的时间影响弹道轨迹
瞬移
存在传送的功能实现了一个传送的函数调用了就可以
有的直接修改人物坐标
内购破解
找到联网支付的模块在那里根据返回值判断是否购买把相应的那一块做一下patch 这是以前的方法比如滑雪大冒险一样的游戏
Unity游戏防御
开发时注意数据安全
接入第三方反作弊系统
TP EAC(Easy Anti Cheat) VAC(Valve AntiCheat)-----------CSGO用 Battleye Anticheat
easy-anticheat 好像是直接扫内存吧 外挂检测思路
符号混淆 变量值混淆 文件完整性校验 调试器检测、阻止调试器附加—无法动态分析了 检测内存编辑工具(Cheat Engine等) 基于签名的内存完整性检测 检测dII注入----常见外挂都是写成个DLL 检测APIHook----比如透视hook 一下图形API的函数可以通过检测常用的函数是否被hook 封锁内存读写----不让在应用层读写内存上驱动保护的那种 统计异常检测------统计一段时间内游戏崩溃多少次
狠人自爆 实战 查看目录结构 看到unityplayer
猜测打包方式看Data里面猜测是il2cpp
用il2cpp dumper
把游戏拖进去 搜索getflag 用框架脚本 mono打包方式
例子2-森林 用il2cppDumper去分析
who is he
mono打包方式就跟源码差不多 相当于看到源码
后记
推荐阅读r3kapig:校园明星ctf 战队的奇幻养成之旅 I could be bounded in a nutshell and count myself a king of infinite space. 特别鸣谢木芯工作室 、Ivan from Russia