1. 程式人生 > >防遊戲檢測之易語言APC注入DLL技術

防遊戲檢測之易語言APC注入DLL技術

本文章轉載來自:http://bbs.dult.cn/thread-23291-1-1.html
APC注入是什麼原理?
首先我們得來了解下它是什麼東西,才能更好的運用它,關於APC對於懂微軟api函式使用的學員來說可能不陌生,新手估計沒有接觸過。
APC 注入的原理是利用當執行緒被喚醒時APC中的註冊函式會被執行的機制,並以此去執行我們的DLL載入程式碼,進而完成DLL注入的目的,
其具體流程如下:
1.當EXE裡某個執行緒執行到SleepEx() 或者 WaitForSingleObjectEx() 時,系統就會產生一個軟中斷(或者是Messagebox彈窗的時候不點OK的時候也能注入)。
2.當執行緒再次被喚醒時,此執行緒會首先執行APC佇列中的被註冊的函式。
3.利用QueueUserAPC()這個API可以在軟中斷時向執行緒的APC佇列插入一個函式指標,如果給它插入的是Loadlibrary()執行函式的話,就能達到注入DLL的目的。

大至瞭解了下後就可以了,因為為了方便寫輔助的學員注入遊戲,我們模組裡早已經提供了多種注入方式,本次的APC注入方式也不屬於一種注入方式。
當然這裡要說下,APC注入它分r0(可以使用NtQueueApcThread)層和r3層,這裡我們先學習運用下r3層的APC注入,使用QueueUserApc。
畢竟核心驅動來進行注入涉及到系統方面,現在微軟高版本系統對驅動載入都是要求比較嚴格的,
所以r3層(也就是應用層)能實現對遊戲的注入,那儘量用應用層的,核心驅動方式的APC注入我們在後續模組更新了驅動後再來講。

APC注入方式在我們獨立團的 Game-EC 驅動模組 從8.5.2的驅動版本才加入的,
它的系統相容方面:目前已經在xp,win7,win8,win10 32位/64位系統中測試過可用
使用的方法很簡單(APC注入.exe 程式碼):
APC注入dll


win10 64位 注入效果:
APC注入
APC注入的好處:
這種方式注入的好處就是DLL注入到目標程序裡後,用檢視程序模組的工具比如:XT,PCHunter,等都檢視不到它的存在,類似於我們模組裡的記憶體注入一樣!
如果遊戲列舉自身程序模組來檢測輔助DLL,是查不到我們的DLL的!