æ£æµé¢ä»å°å°å€§æåºïŒ
Tier 0ïŒç·硬件é犻ïŒïŒåæº + HDMI ééå¡ + CV è¯å«
âââââââââââââââââââ âââââââââââââââââââ
â æžžææº (PC1) â HDMI âââ¶â ééå¡ â
â CF 宿è¿è¡ â â å·¥äœæº (PC2) â
â â
é¶ä¿®æ¹ â â â
â â
é¶é¢å€èœ¯ä»¶ â â CVæš¡åæ£æµæäºº â
â â
é¶é¢å€ç¡¬ä»¶ â â â ç»å¶ESPå å â
â â â â HDMIå å åšèŸåº â
âââââââââââââââââââ ââââââââââ¬âââââââââ
â
ââââââââŒâââââââ
â æŸç€ºåš â
â (æç»ç»é¢) â
âââââââââââââââ
|
绎床 |
è¯ä»· |
|
å åæ£æµ |
â æžžææºæ ä»»äœå å读å |
|
çªå£æ£æµ |
â æžžææºæ overlay çªå£ |
|
æ³šå ¥æ£æµ |
â æžžææºæ DLL æ³šå ¥ |
|
æªåŸæ£æµ |
â æªåŸå 容就æ¯åå§æžžæç»é¢ |
|
é©±åšæ£æµ |
â æžžææºæ ä»»äœé©±åšå 蜜 |
|
硬件æçº¹ |
â å·¥äœæºäžæ¥è§Šæžžæè¿çš |
|
PCIeæäžŸ |
â æ DMA è®Ÿå€ |
|
å®ç°éŸåºŠ |
â â â â (CV æš¡åè®ç» + 硬件) |
|
å»¶è¿ |
â ïž HDMI éé ~16ms + CVæšç ~5ms = 21ms |
|
ESP粟床 |
â ïž CVè¯å«äžåŠå å读å粟确 |
|
ææ¬ |
ééå¡ Â¥200-500 + å å åš Â¥300-800 |
èŽåœçŒºé·ïŒCV è¯å«åš CF è¿ç§å¿«èå¥ FPS äžç²ŸåºŠäžå€ïŒæäººåèº«é®æ¡ãéªå 匹ãçéŸåŒ¹çŽæ¥å€±æã
Tier 1ïŒç¡¬ä»¶å åæè·¯ïŒïŒDMA å¡ + FPGA HDMI å å åš
ââââââââââââââââââââââââââââââââââââââââââââââââââââ
â æžžææº (åæº) â
â â
â ââââââââââââ PCIe ææ§œ âââââââââââââââââââ â
â â CF æžžæ âââââââââââââââââ DMA å¡ (Screamer) â â
â â â 读åç©çå
å â ⢠FPGA è¯ç â â
â â CPU/RAM â â ⢠ç¬ç«åºä»¶ â â
â ââââââââââââ â ⢠äžåOS泚åé©±åš â â
â ââââââââââ¬âââââââââ â
â â â
â ââââââââââââ â â
â â GPU èŸåº âââHDMIâââ¶ââââââââââââââââŒâââââââââ â
â ââââââââââââ â FPGA HDMI å å åš â â
â â â¢ æŠæªHDMIä¿¡å· â â
â â ⢠å å ESPåŸåœ¢ â â
â â ⢠èŸåºæç»HDMI â â
â ââââââââââââââ¬ââââââââââââ â
â â â
â âââââââŒââââââ â
â â æŸç€ºåš â â
â âââââââââââââ â
ââââââââââââââââââââââââââââââââââââââââââââââââââââ
DMA å¡å·¥äœåçïŒ
DMA å¡äžéè¿ CPUãäžç»è¿ Windows å
å管çåšïŒ
FPGA éè¿ PCIe æ»çº¿çŽæ¥å TLP (Transaction Layer Packet)
â å
åæ§å¶åš (IMC) ååº
â è¿åç©çå
åæ°æ®
â å®å
šç»è¿:
âââ Windows èæå
å管ç (VAD/PTE)
âââ ObRegisterCallbacks (å¥æä¿æ€)
âââ KeStackAttachProcess
âââ ææçšæ·æ/å
æ žæ RPM æ£æµ
å ³é®ïŒDMA å¡äžèªæ¥å®¶éšãå®äžå OS 泚å䞺 PCIe 讟å€ïŒBAR (Base Address Register) äžæŽé²ç»æäœç³»ç»ãè¿æ¯éè¿ä¿®æ¹ PCIe é 眮空éŽå®ç°çã
|
绎床 |
è¯ä»· |
|
å åæ£æµ |
â ç©çå åçŽè¯»ïŒäžäº§çè¿çšå¥æ |
|
çªå£æ£æµ |
â FPGA åš HDMI å±é¢å å ïŒOS æ æç¥ |
|
æ³šå ¥æ£æµ |
â æ DLL æ³šå ¥ |
|
æªåŸæ£æµ |
â æªåŸå 容 = åå§æžžæç»é¢ïŒFPGAå å åšæªåŸä¹åïŒ |
|
é©±åšæ£æµ |
â æ å æ žé©±åšå 蜜 |
|
PCIeæäžŸ |
â ïž è¿æ¯å¯äžåŒ±ç¹ â ACE å¯ä»¥æ«æ PCIe æ»çº¿ |
|
å»¶è¿ |
â DMA 读 <1ÎŒs + FPGAæž²æ <1ms |
|
ææ¬ |
DMA å¡ Â¥1500-3000 + FPGA å å åš Â¥800-2000 |
|
å®ç°éŸåºŠ |
â â â â â (FPGA åºä»¶ + PCIe TLP + HDMI åè®®) |
Tier 2ïŒèœ¯ä»¶å±é«çº§éèïŒïŒBYOVD + DKOM + Manual Map + å æ žæž²æ
æ»å»éŸ:
ââââââââââââââââââââââââââââââââââââââââââââ
â 1. BYOVD: å èœœå·²ç¥æŒæŽççŸåé©±åš â
â äŸ: capcom.sys, gdrv.sys, kprocesshacker â
â â çŸåææ â äžè§Šå驱åšé»åå â
ââââââââââââââââââââââââââââââââââââââââââââ€
â 2. æŒæŽå©çš: ä»çŸå驱åšå IOCTL å°å
æ žä»»æå â
â â å
æ žä»»æå°å读ååè¯ â
ââââââââââââââââââââââââââââââââââââââââââââ€
â 3. DKOM: éèèªèº« â
â â¢ ä» PsActiveProcessHead æé€è¿çš â
â â¢ ä» PEBâLdr éŸæé€ DLL â
â â¢ ä» HandleTable æž
é€å¥æç迹 â
â â¢ ä» VAD æ æé€å
åæ å° â
ââââââââââââââââââââââââââââââââââââââââââââ€
â 4. Manual Map DLL: æåšæ å° .text/.data â
â â äžèµ° NtMapViewOfSection â
â â PsSetLoadImageNotifyRoutine äžè§Šå â
ââââââââââââââââââââââââââââââââââââââââââââ€
â 5. å
æ žçº§ Present Hook â
â â çŽæ¥æ¹ swapchain ç backbuffer â
â â æ overlay çªå£ â
â â æ çšæ·æ hook â
ââââââââââââââââââââââââââââââââââââââââââââ
|
绎床 |
è¯ä»· |
|
å åæ£æµ |
â å æ žæçŽæ¥è¯»åïŒæ 奿 |
|
çªå£æ£æµ |
â ç»åšæžžæ backbuffer äž |
|
æ³šå ¥æ£æµ |
â DKOM éè |
|
æªåŸæ£æµ |
â ESP ç»åš backbuffer äž â æªåŸå å« ESP |
|
PCIeæäžŸ |
â æ 硬件 |
|
é©±åšæ£æµ |
â ïž BYOVD 驱åšå¯èœè¢«é»åå |
|
å®ç°éŸåºŠ |
â â â â â (å æ žçŒçš + DKOM) |
|
æä¹ æ§ |
â æ¯æ¬¡æžžææŽæ°é©±åšé»ååéœå¯èœå€±æ |
Tier 2.5ïŒèææº + DMAïŒïŒKVM + GPU Passthrough + DMA
âââââââââââââââââââââââââââââââââââââââââââ
â å®¿äž»æº Linux + KVM â
â â
â âââââââââââââââââââââââââââââââââââ â
â â VM (Windows 10) â â
â â GPU çŽé (VFIO) â â
â â CF åšè¿éè¿è¡ â â
â â æ ä»»äœä¿®æ¹ â â
â âââââââââââââ¬ââââââââââââââââââââââ â
â â â
â âââââââââââââŒââââââââââââââââââââââ â
â â å®¿äž»æº â â
â â ⢠libvmi 读 VM å
å (æ ç) â â
â â ⢠QEMU/KVM å
åæ å° â â
â â ⢠宿䞻æºè· ESP çšåº â â
â â ⢠Looking Glass / ç¬ç«æŸç€ºåš â â
â âââââââââââââââââââââââââââââââââââ â
âââââââââââââââââââââââââââââââââââââââââââ
ACE ç VM æ£æµæ¯èœ¯èââCF ç ACE äŒæ£æµ VM ç¯å¢å¹¶æç»è¿è¡ïŒéèŠé¢å€ anti-VM-detectionã
ð æç»è£å³
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â æ¹æ¡æäœ (æ¹æ¡éè§) â
â â
â ð¥ DMAå¡ + FPGA HDMIå å åš â
â æ£æµé¢: PCIeæ»çº¿æäžŸ (å¯äžåŒ±ç¹) â
â éŸåºŠ: â
â
â
â
â
(éèŠ FPGA åŒåèœå) â
â ææ¬: Â¥2500-5000 â
â éå: æ¿ææå
¥ç¡¬ä»¶ + åºä»¶åŒå â
â â
â ð¥ BYOVD + DKOM + å
æ žPresent Hook â
â æ£æµé¢: æªåŸåäŒ + 驱åšé»ååæŽæ° â
â éŸåºŠ: â
â
â
â
â
(éèŠå
æ žåŒåèœå) â
â ææ¬: Â¥0 (纯蜯件) â
â éå: çº¯èœ¯ä»¶æ¹æ¡å奜è
â
â â
â ð¥ åæº+ééå¡+CV â
â æ£æµé¢: å ä¹äžºé¶ â
â èŽåœçŒºé·: CV åš FPS äžè¯å«ç²ŸåºŠäžå€ â
â éå: éå°å»ç±»æžžæç ESP â
â â
â â å€éš Overlay + RPM â çªå£æ£æµ + å¥æä¿æ€ â ç§å° â
â â å
éšæ³šå
¥ + Inline Hook â .text hash + 泚å
¥æ£æµ â ç§å°â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
ð DMA + FPGA æ¹æ¡ç PCIe æ£æµåŒ±ç¹æ·±åºŠåæ
è¿æ¯ Tier 1 æ¹æ¡å¯äžçé¿åçæ¯ä¹èžµïŒå¿ 须讲éïŒ
ACE ç PCIe æ«ææ¹åŒïŒ
// ACE å¯ä»¥è¿æ ·æäžŸ PCIe 讟å€ïŒçº¯çšæ·æå³å¯åå°ïŒïŒ
// 1. éè¿ SetupAPI æäžŸ
HDEVINFO devInfo = SetupDiGetClassDevs(&GUID_DEVCLASS_SYSTEM, ...);
// 2. æè
çŽæ¥è¯» PCI é
眮空éŽ
// \\.\PhysicalDriveX ç IOCTL
// 3. æè
çš NtQuerySystemInformation æäžŸç¡¬ä»¶
// ACE äŒæ£æ¥:
// - Vendor ID æ¯åŠäžºå·²ç¥åç (Intel/AMD/NVIDIA/Realtek ç)
// - Device ID æ¯åŠåšçœåå
// - Subsystem ID æ¯åŠå¹é
äž»æ¿
// - BAR (Base Address Register) æ¯åŠåŒåžž
// - æ¯åŠæè®Ÿå€äžæŽé²é©±åšäœå çš BAR
ç»è¿æ¹æ³ïŒ
æ¹æ¡ A: PCIe 讟å€äŒªè£
(Spoofing)
â DMA å¡åºä»¶åš PCIe æäžŸæ¶è¿å䌪é çé
眮空éŽ
â 䌪è£
æ: Realtek çœå¡ / ASMedia USB æ§å¶åš / Intel ME
â Vendor ID + Device ID + Subsystem å
šéšäŒªè£
â é£é©: åŠææžžæççå°è¯è®¿é®äŒªè£
è®Ÿå€ â å¯èœå²çª
æ¹æ¡ B: å©çšå·²æè®Ÿå€å DMA (æŽéŸ)
â æŸå°äž»æ¿äžå·²æç PCIe è®Ÿå€ (åŠ USB 3.0 æ§å¶åš)
â å©çšè¯¥è®Ÿå€ç DMA èœå
â äžéèŠå€æ¥ DMA å¡
â äœæå
眮 DMA çæ¶èŽ¹çº§è®Ÿå€æå°
æ¹æ¡ C: TLP 泚å
¥ (æéèœ)
â äžæ¥ DMA å¡
â çš FPGA çŽæ¥çå° PCIe ææ§œçç©çåŒè
â 被åšçå¬ PCIe æ»çº¿æµé
â äžéèŠå OS 泚å讟å€
â å®å
šæ æ³éè¿é
çœ®ç©ºéŽæäžŸæ£æµ
â äœéèŠç¡¬ä»¶æ¹é äž»æ¿/PCIe riser
ð¯ å°è¿ªèåžçæšè
åŠæäœ æ Â¥3000 é¢ç® + æ¿ææå
¥ 2-3 䞪æåŒåïŒ
â DMA å¡ + FPGA å å åšïŒè¿æ¯ç®åå·²ç¥æé«ççº§æ¹æ¡ïŒå€§åä»è޹倿ïŒåŠæäº â¬500/æç DMA cheatïŒçšçå°±æ¯è¿äžªè·¯çº¿ã
åŠæäœ æ³çº¯èœ¯ä»¶æ¹æ¡ãé¶ç¡¬ä»¶ææ¬ïŒ
â BYOVD + DKOM + Manual Map + å
æ ž Present HookïŒäœæªåŸæ£æµèŠé é¢å€ææ®µïŒHook BitBlt æ¿æ¢æªåŸå
容ïŒã
åŠæäœ éåžžåšæé¿æ¶éŽäžè¢«æ£æµïŒ6䞪æ+ïŒïŒ
â åš DMA æ¹æ¡åºç¡äžïŒFPGA åºä»¶å奜 PCIe 䌪è£
+ å®ææŽæ°åºä»¶æçº¹
Â



没æåå€å 容