DMA 是什么聊聊游戏的物理外挂

  • 来源:电脑报
  • 关键字:内存,检测,机制
  • 发布时间:2025-04-05 10:49

  ■ Jeff

  硬件外挂,绕开内存检测机制

  首先大家要知道,游戏数据都是运行在本地的,比如射击游戏里所有玩家在每一帧的位置坐标,都会记录在每个玩家电脑的内存里,你可能会问为什么不放在服务器里?这是因为多人游戏的数据量庞大且更迭速度极快,再加上像《反恐精英2》等热门游戏动辄几百上千万玩家同时在线,如果数据都放在服务器,延迟和服务器容量的压力实在是游戏运营商无法承受的重担。也正因如此,大多数的游戏外挂都是通过修改本地电脑内存数据来实现的,比如提取全局玩家的位置坐标,就实现了透视,再让鼠标自动跟随该坐标,也就搞定了“锁头”。

  但游戏厂商也并不傻,既然软件外挂是通过访问内存获取数据,那我把内存数据通过加密方式保护起来不就完了?这也是大多数网游厂商“内核级加密”的原理, 其中CPU 就主要负责这个加密的过程。

  而DMA 游戏外挂则是一种基于直接内存访问(DirectMemory Access, DMA) 技术的硬件作弊工具,因为电脑允许GPU、网卡等外部设备在不通过CPU 干预的情况下直接读写系统内存,原本的目的是提高工作效率,不用啥事儿都去请示一下CPU。而DMA 作弊器就利用了这个漏洞,作弊玩家通过将DMA设备连接到游戏电脑的PCIe 插槽,然后用另一台作弊电脑通过USB 连接DMA 硬件来读取游戏电脑内存,这个过程就绕过了CPU 加密,可以扫描并修改游戏内存数据,此时将作弊电脑接上另一台显示器,就能直接看到作弊效果了。

  因为使用DMA 时在游戏电脑上完全看不到任何的作弊痕迹,所以特别适合各类主播,而没有直播需求的普通玩家可以将作弊效果通过融合器直接覆盖显示到主显示器上,实现直观的透视、锁头等作弊功能。

  反制路漫漫,硬件外挂不好防

  DMA 这种利用PC 系统底层运行机制的物理外挂防御难度极高,目前游戏厂商给出的手段都要付出较高的代价。因为DMA 的配置需要在游戏启动前先启动,那反外挂程序只要比DMA 更早启动不就可以监测到环境变化了吗?所以像《穿越火线》就要求玩家在操作系统启动阶段就加载反作弊程序,以实现全程系统环境监控,以此作为依据来判断玩家是否作弊。

  这一手段虽然可以提供玩家作弊的依据,但带来了两个明显的问题: 一是影响电脑的性能,这也是很多玩家痛恨反作弊的原因之一。二是游戏厂商不能因为玩家在游戏开始前接入了外设,就一刀切地判断为作弊,很多被举报的疑似作弊者都会声称自己外接的是声卡、网卡等合法设备,所以游戏厂商在这时候也只能用枚举法这个“笨办法”来进行筛选——通过收集固件特征(如固件哈希值、硬件ID 等),建立数据库进行比对,比如腾讯已累计禁用4.5 万个覆盖伪装为网卡、打印机等设备的异常固件,但这显然是个亡羊补牢的办法,而且新的DMA 芯片已经可以支持自定义固件来伪装成白名单里的产品,所以这个办法并不能从源头解决问题。

  不仅如此,作弊软件也在与时俱进,比如锁头就不再是直愣愣地将鼠标固定在头部坐标,而是模拟玩家的平滑操作,产生了一定的延迟和差异感。再加上资深作弊玩家往往都“演技出众”,甚至可以通过外挂服务器实时共享敌人坐标信息,一人获取数据全队透视作弊。所以,DMA 作弊行为的确难以防御,厂商往往也是以动辄10 年封禁,甚至禁止作弊玩家账号游玩旗下其他游戏等重罚作为威慑手段。

关注读览天下微信, 100万篇深度好文, 等你来看……