最近,CF中某些主播“開(下稱KG)掛”升上熱搜,作為十年老兵,瓜是吃的飽飽的。之后官方下場(chǎng)進(jìn)行檢測(cè),但是沒有檢測(cè)到軟件KG行為,而是檢測(cè)到主播有硬件設(shè)備異常情況。關(guān)于事件的來龍去脈就不過多贅述了,大家可以去某些社區(qū)吃瓜,我們今天只談技術(shù),不吃瓜。
現(xiàn)在已經(jīng)是3202年了,軟件KG已經(jīng)是過去式了,因?yàn)榭梢詸z測(cè)到電腦中的數(shù)據(jù)異常,所以游戲官方對(duì)于這種G是一查一個(gè)準(zhǔn)。現(xiàn)在的高級(jí)G都是硬件G,而硬件G中一個(gè)最常見的就是FPGA做的DMA G。
原理
使用FPGA進(jìn)行DMA(Direct Memory Access,直接內(nèi)存訪問)作弊原理:主要是通過FPGA直接訪問計(jì)算機(jī)內(nèi)存中的數(shù)據(jù),可以進(jìn)行數(shù)據(jù)修改(血量,金幣等),或者將數(shù)據(jù)導(dǎo)出來到其他設(shè)備上顯示(對(duì)手位置)。那為什么要使用FPGA進(jìn)行操作呢?
主要原因就是FPGA靈活,這種行業(yè)就是灰色產(chǎn)業(yè),不會(huì)有專用的ASIC(未來可能有),所以FPGA的優(yōu)勢(shì)就體現(xiàn)出來了;二是驅(qū)動(dòng)易改,可以模擬電腦中的網(wǎng)卡、GPU等,這樣即使官方查到,最多就是硬件設(shè)備異常,不會(huì)直接查到KG的證據(jù)。
自己做一個(gè)?
這種灰色產(chǎn)業(yè),國(guó)內(nèi)肯定不會(huì)直接出來賣的,但是出于學(xué)習(xí)的目的,我們今天看一個(gè)項(xiàng)目:
PCILeech FPGA 項(xiàng)目包含用于基于 FPGA 的設(shè)備的軟件和 HDL 代碼(還有硬件),可與PCILeech 直接內(nèi)存訪問 (DMA) 攻擊工具包和MemProcFS - 內(nèi)存處理文件系統(tǒng)一起使用。使用基于 FPGA 的設(shè)備具有許多優(yōu)勢(shì):其一是基于 FPGA 的硬件提供對(duì) 64 位內(nèi)存空間的訪問,而無需依賴目標(biāo)系統(tǒng)上運(yùn)行的內(nèi)核;其二是基于 FPGA 的設(shè)備也更加穩(wěn)定。基于 FPGA 的設(shè)備還可以發(fā)送原始 PCIe 事務(wù)層數(shù)據(jù)包 TLP - 允許進(jìn)行更專業(yè)的研究。
支持的設(shè)備:
目前該項(xiàng)目支持的硬件(大部分硬件開源):
設(shè)備 | 接口 | 傳輸速度 | 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 通道可用。因?yàn)閤1就足以提供我們需要的性能。
請(qǐng)從上面的列表中選擇最適合需求的 FPGA 硬件。如果性能是關(guān)鍵,目前建議使用 Screamer 系列、Enigma X1 或 AC701。
這個(gè)項(xiàng)目是基于上面項(xiàng)目進(jìn)行延伸的,使用的是NETV2(硬件地址:https://github.com/AlphamaxMedia/netv2-mainboard),獲取DMA數(shù)據(jù)后標(biāo)記敵人的位置,然后與輸入的HDMI數(shù)據(jù)疊加,最后HDMI輸出畫面就是游戲畫面和標(biāo)記的敵人畫面疊加的畫面。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1643文章
21954瀏覽量
613911 -
FPS
+關(guān)注
關(guān)注
0文章
35瀏覽量
12159 -
dma
+關(guān)注
關(guān)注
3文章
572瀏覽量
102285
原文標(biāo)題:“不會(huì)被封的外掛”,為何使用FPGA作為FPS游戲的“DMA”橋梁
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
通過 FX3 以 5200*3900 分辨率、15fps 的速度從我的 fpga 傳輸視頻數(shù)據(jù)流,但無法設(shè)置最小/最大比特率描述符值,怎么解決?
極端天氣頻發(fā)?這套橋梁結(jié)構(gòu)安全監(jiān)測(cè)方案,讓橋梁“聽懂風(fēng)雨聲”

DLPC3479每次投影幀率切換(如從60FPS切換到30FPS),改變后的幀率生效時(shí)間是多久?
ads1204基于fpga的sinc3濾波,為何輸出的25位數(shù)據(jù)為什么都不是定值?
ZYNQ基礎(chǔ)---AXI DMA使用

THS1209 SYNC腳位的功能為何?
FPGA打磚塊小游戲設(shè)計(jì)思路
DMA是什么?詳細(xì)介紹
海外IP節(jié)點(diǎn):加速全球互聯(lián)網(wǎng)訪問的橋梁
橋梁監(jiān)測(cè)預(yù)警系統(tǒng)的應(yīng)用優(yōu)勢(shì)有哪些
藍(lán)牙模塊如何提升游戲設(shè)備的體驗(yàn)?

評(píng)論