- Pika2026-09-0233254
前言
最近偶然了解到 DMA 游戏外挂实现原理,作为一个计算机从业人员,探索心作祟,顺便了解一下 DMA 原理。
什么是 DMA
DMA(Direct Memory Access,直接存储器访问) 是一种让外设绕过 CPU、直接和内存交换数据的机制。
简单来说,CPU 就是一个“老板”,一个人干活的时候必须要亲力亲为,DMA 是“老板”招的“员工”。老板通知员工干活,员工开始干,干完之后再通知给老板就行了。

DMA 工作流程
一次完整的工作流程:
- CPU 启动磁盘,将搬迁的数据信息告诉 DMA 控制器。
- 等磁盘数据准备好,告诉 DMA 控制器开始"工作"。
- DMA 控制器向 CPU 申请系统总线。
- DMA 控制器接管总线,数据直接从磁盘搬进内存,不经过 CPU。
- DMA 控制器通知 CPU"完成",CPU 来做收尾。
CPU 只做"发起"和"收尾",搬运全程不参与。

DMA 使用场景
应用场景 |
传输路径 |
传输内容 |文件读写 |
磁盘 ⇄ 内存 |
文件数据块 |网络收发 |
网卡 ⇄ 内存 |
网络数据包 |图形渲染 |
内存 → 显存 |
视频帧数据 |音频播放 |
内存 → 声卡 |
音频数据流 |视频采集 |
摄像头 → 内存 |
视频帧数据 |主楼 - x1a022026-09-0240802
学408的时候接触过,现在也都忘的7788
- 晨旭2026-09-0212712
- Pika2026-09-0233254
嵌入式现在行情咋样?应该没被 AI 波及到吧
- 晨旭2026-09-0212712
- AFLY2026-09-0214886
- 菜鸡rrr2026-09-026381
上学的时候老师专门讲了,现在已经全忘完了 ^-^
- zhangpy2026-09-0349960
这样做的效果是通信速度更快吗?手机上是不是有厂商使用了这个技术?
- 别碰代码2026-09-0336275
因为这个原理,dma现在好像还是没有非常强硬的检测手段,只能通过游戏的行为进行智能分析 ^-^
- Pika2026-09-0333254
我也是,现在学校里学的知识全还给老师了
- Pika2026-09-0333254
手机也可以理解为小电脑,只要涉及数据搬迁的都用了这个技术。
- Pika2026-09-0333254
哈哈哈哈,是的,前一阵子看到一个博主吐槽,讲 DMA 反制目前还是太难做到,毕竟完全不经过 CPU 之类的。
- CKIN2026-09-0316269
现在有IOMMU这种技术吧,OS可以让设备只能读指定区域的物理内存
