当前位置: 首页 > news >正文

某PC游戏残血ACE反作弊ring3下的绕过分析

前言

研究仅供学习交流目的,请勿用于任何违法用途

前几个月就听说了mw在新版本上实装了ACE反作弊,上个月有空的时候去研究了一下,发现绕过方式出奇的简单,最近有空就分享一下分析过程吧

分析过程

尝试

正常启动游戏,又是那个熟悉的蓝色UI


刚开始先是尝试了很多ring3下常用的绕过方法,如删除驱动文件,关闭驱动句柄等等
但都会触发反作弊的奇奇怪怪的检测,然后触发异常,最后没办法也就只能去具体分析了

分析

对比更新前的目录,发现在更新之后多了一个minigameappbase.dll,IDA启动看两眼
看一眼调试信息就知道这个就是加载ACE的模块了,不过很明显有加壳什么的,也没有进一步探究了(太菜了)


转而去分析加载这个模块的minigameapp.exe,很明显他也加壳了,难道接下来只能硬刚ACE了吗

nonono! 我们还可以去分析一下它在实装ACE前是什么样的
这不看不知道,一看吓一跳啊,原来这玩意就仅仅只是调用了libiworld.dll中的WinMainEntry导出函数而已...
顺便去瞟了一眼libiworld.dll,也没有发现什么可疑的东西

结果看起来已经很明显了,那就直接把原来的minigameapp.exe给替换过来,这样不就既可以正常加载游戏,又不会加载ACE模块了
nice,理论存在,开始实践!
诶可恶,居然触发了游戏的文件校验自动更新了程序


接着就得去分析一下怎么绕过文件校验部分,因为minigameapp.exe是由MicroMiniNew.exe启动的,那么就分析一下看看他在启动前后者还做了些什么
跟了一下ReadFile的交叉引用,没有发现跟文件校验有关的代码,猜测是不是有调用其他的dll
于是看了一下LoadLibraryA的交叉引用,发现了一个有趣的东西,start.mnw是个什么东西?,很可疑,拉IDA里分析一下

搜一下关键字符串,果然发现有东西,猜测一下文件的md5就是存在md5filesdata.dat里用作校验了

看了一下根目录,有两个相关的文件,干脆两个一起改了吧

010Editor简单替换一下

现在重新启动游戏,右下角已经不会出现ACE加载的提示了,CE测试了一下内存读写,下断调试都是没有问题的了,成功绕过!


总结

一次有趣的研究,对于游戏这个ACE加载位置的设计有点难以置信,过于好绕过了,而且后面也没有心跳检测什么的,不加载ACE也不会导致游戏掉线,感觉...就像...把vmp当upx加一样,也希望相关游戏厂商能尽快修复该问题吧

http://www.cnnetsun.cn/news/53542.html

相关文章:

  • 新一代空间感知驱动的军工仓库与硐室透明化管控技术研究
  • Sketch MeaXure插件:设计师必备的智能标注工具
  • 强化学习Q-learning求最优策略
  • 你对电脑上的【Fn】熟悉多少
  • 计及N-k安全约束的含光热电站电力系统优化调度模型【IEEE14节点、118节点】附Matlab代码
  • 计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置附Matlab代码
  • conda使用详细指南
  • 豆包与DeepSeek底层大模型的深度解析:技术架构、设计理念与生态分野
  • Linux系统中的socket激活:先创建监听端口,后启动程序
  • 从零解决pyproject.toml构建失败的实战指南
  • Redis Lua脚本入门:从零写出你的第一个原子操作
  • 旧机转手不再慌!电子产品信息清除新国标落地,核心技术逻辑全解析
  • 安全体验馆好用供应商
  • 第二章——数据分析场景之Python数据可视化:用Matplotlib与Seaborn绘制洞察之图
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生离校管理系统小程序设计与实现(丰富项目+远程调试+讲解+定制)
  • 如何用AI工具jstat优化Java应用性能分析
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生信息管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Day 38 GPU训练及类的call方法
  • 【Python实战】火爆全网的“隔空手势画板”是如何实现的?教你用OpenCV+MediaPipe复刻钢铁侠黑科技!
  • 【学习笔记】如果打造可复现、可评测、可迭代的AI技术体系
  • 【论文自动阅读】See Once, Then Act: Vision-Language-Action Model with Task Learning from One-Shot Video Demo
  • 利用齐次坐标系证明各种几何定理【射影几何】
  • 小程序基于springboot的乡镇普法知识科普宣传系统 律师预约系统设计与实现_qf4cwws6(java毕业设计项目源码)
  • 面向对象编程三大特性:封装、继承、多态的核心要义
  • leetcode 2147. 分隔长廊的方案数 困难
  • 学生党必备!这款桌面课表工具太省心了
  • 深度学习实验14代码
  • 优化及性能-–-behaviac
  • 练题100天——DAY26:汇总区间+丢失的数字+数组交集
  • 当AI芯片不再性感:博通的高增长,为何成了催命符?