为何使用FPGA作为FPS游戏的“DMA”桥梁?

最近,cf中某些主播“开(下称kg)挂”升上热搜,作为十年老兵,瓜是吃的饱饱的。之后官方下场进行检测,但是没有检测到软件kg行为,而是检测到主播有硬件设备异常情况。关于事件的来龙去脉就不过多赘述了,大家可以去某些社区吃瓜,我们今天只谈技术,不吃瓜。
现在已经是3202年了,软件kg已经是过去式了,因为可以检测到电脑中的数据异常,所以游戏官方对于这种g是一查一个准。现在的高级g都是硬件g,而硬件g中一个最常见的就是fpga做的dma g。
原理
使用fpga进行dma(direct memory access,直接内存访问)作弊原理:主要是通过fpga直接访问计算机内存中的数据,可以进行数据修改(血量,金币等),或者将数据导出来到其他设备上显示(对手位置)。那为什么要使用fpga进行操作呢?
主要原因就是fpga灵活,这种行业就是灰色产业,不会有专用的asic(未来可能有),所以fpga的优势就体现出来了;二是驱动易改,可以模拟电脑中的网卡、gpu等,这样即使官方查到,最多就是硬件设备异常,不会直接查到kg的证据。
自己做一个?
这种灰色产业,国内肯定不会直接出来卖的,但是出于学习的目的,我们今天看一个项目:
pcileech fpga 项目包含用于基于 fpga 的设备的软件和 hdl 代码(还有硬件),可与pcileech 直接内存访问 (dma) 攻击工具包和memprocfs - 内存处理文件系统一起使用。使用基于 fpga 的设备具有许多优势:其一是基于 fpga 的硬件提供对 64 位内存空间的访问,而无需依赖目标系统上运行的内核;其二是基于 fpga 的设备也更加稳定。基于 fpga 的设备还可以发送原始 pcie 事务层数据包 tlp - 允许进行更专业的研究。
支持的设备:
目前该项目支持的硬件(大部分硬件开源):
设备 接口 传输速度 pcie版本
screamer pcie squirrel usb-c 180 mb/s pcie gen2 x1
leetdma usb-c 180 mb/s pcie gen2 x1
enigma x1 usb-c 200 mb/s pcie gen2 x1
pciescreamerr04 usb-c 180 mb/s pcie gen2 x4*
screamerm2 usb3/usb-c 180 mb/s pcie gen2 x4*
pciescreamer usb3 100 mb/s pcie gen2 x1
ac701/ft601 usb3 150 mb/s pcie gen2 x4*
sp605/ft601 usb3 75 mb/s pcie gen1 x1
acorn/ft2232h usb2 25 mb/s pcie gen2 x4*
netv2 udp/ip 7 mb/s pcie gen2 x4*
sp605/tcp tcp/ip 100kb/s pcie gen1 x1
*) pcileech fpga 只使用 pcie x1,即使硬件方面有更多 pcie 通道可用。因为x1就足以提供我们需要的性能。
请从上面的列表中选择最适合需求的 fpga 硬件。如果性能是关键,目前建议使用 screamer 系列、enigma x1 或 ac701。
这个项目是基于上面项目进行延伸的,使用的是netv2(硬件地址:https://github.com/alphamaxmedia/netv2-mainboard),获取dma数据后标记敌人的位置,然后与输入的hdmi数据叠加,最后hdmi输出画面就是游戏画面和标记的敌人画面叠加的画面。


TCL第11代新型显示器件生产线预计Q4量产
罗姆、东芝联合宣布将共同生产功率半导体
5G技术的商业使用,引发5G领域的消费者需求激增和工业投资的加速增长
音圈模组地震检测仪发挥的重要作用
SpaceX成功将143颗卫星送入太空
为何使用FPGA作为FPS游戏的“DMA”桥梁?
微电网关键技术 微电网规划设计目标有哪些
PLC上升或下降沿不工作的原因是什么
苹果今年还推新Macbook Pro!规格将升级 将淘汰15寸Macbook Air?
简单说说段码液晶屏在呼叫机领域中的运用
如何查找汽车的电路故障?
两会回顾|“科技创新”点亮数字经济发展新航标
Mouser备货Lumileds新一代LUXEON XR-TX高光效LED矩阵
蜗轮蜗杆减速机解决方法
5G成为舆论的热点 但是渗透率只有6%左右
如何选择合适的工业摄像机,几点需要注意的事项
让R型变压器温升过高的原因有哪些?
断路器、负荷开关和隔离开关之间的区别与应用
温湿度变送器:融合感知与输出功能,助力多领域关键环境控制
基于MR二维数据的农村4G网络覆盖质量评估