網友評分: 8.3分
通用dll注入器的作用就是將一個DLL放進某個進程的地址空間里,讓它成為那個進程的一部分,實現我們自定義的擴展功能。使用方法簡單,需要的快來下載吧!
本程序可以列出系統中的進程,并顯示進程的路徑和進程的ID.
本程序可以向列出的進程中注入DLL.
本程序可以卸載進程中注入的DLL.
本程序在向進程中注入DLL時,會執行一個無參數的導出函數。
本程序在向進程中卸載Dll時,會執行一個無參數的導出函數。
遠程線程注入DLL
遠線程注入原理是利用Windows系統中CreateRemoteThread()這個API,其中第4個參數是準備運行的線程,我們可以將LoadLibrary()填入其中,這樣就可以執行遠程進程中的LoadLibrary()函數,進而將我們自己準備的DLL加載到遠程進程空間中執行。
選LoadLibrary函數原因:首先,它可以把一個Dll載入內存空間,并執行DLL初始化函數。第二,LoadLibrary在Kernel32.dll中,Kernel32.dll的加載基址在每個進程中都是一樣的所以,LoadLibrary在每個進程的地址就是一樣的。
注意事項:在DLL中,載入窗口命令中,必須用“對話框方式”!比如,載入(窗口1,,真)
注冊表注入
通用dll注入器中,注冊表注入原理是利用在Windows系統中,當注冊表以下鍵值中存在有DLL文件路徑時,會跟隨EXE文件的啟動加載這個DLL文件路徑中的DLL文件。當如果遇到有多個DLL文件時,需要用逗號或者空格隔開多個DLL文件的路徑。
本注入器是采用的是Appinit_Dlls注冊表項,此注冊表項下的每個dll文件都會隨著User32.dll的加載而同樣加載到進程中
本注入器寫入注冊表的全路徑為:HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsNTCurrentVersionWindowsAppInit_DLLs
注意事項:通用dll注入器中注冊表注入會對每一個進程都有效,針對某個進程的話需要在DLL中進行編寫
EIP注入
通用dll注入器中,掛起目標進程,停止目標進程EIP的變換,在目標進程開啟空間,然后把相關的指令機器碼和數據拷貝到里面去,然后修改目標進程EIP使其強行跳轉到我們拷貝進去的相關機器碼位置,執行相關,然后跳轉回來。
消息鉤子注入
消息鉤子注入原理是利用Windows系統中SetWindowsHookEx()這個API,他可以攔截目標進程的消息到指定的DLL中導出的函數,利用這個特性,我們可以將DLL注入到指定進程中
使用SetWindowsHookEx()之前首先需要將HOOK的DLL加載到本身的進程中,以此得到DLL的模塊句柄,再使用GetProcAddress()得到DLL中公開的函數XXX()的函數地址,最后遍歷出待注入進程的線程ID,這樣SetWindowsHookEx()就可以利用這些參數進行HOOK了。
注意事項:消息鉤子注入需要有窗口
輸入法注入
輸入法注入原理是利用Windows系統中在切換輸入法需要輸入字符時,系統就會把這個輸入法需要的ime文件裝載到當前進程中,而由于這個Ime文件本質上只是個存放在C:WINDOWSsystem32目錄下的特殊的DLL文件,因此我們可以利用這個特性,在Ime文件中使用IMESetPubString()注入DLL文件
也可以直接編寫IME文件在其中使用oadLibrary()函數載入注入的DLL文件
標簽: dll注入器