VC DLL遠端程序注入

2021-06-19 11:45:28 字數 1666 閱讀 2814

剛剛調好的dll遠端程序注入** 備份一下

void cinjectprocessdlg::onbtninject() 

::getwindowthreadprocessid(hwnd, &dwprocessid);

//開啟程序

hprocess = openprocess(process_all_access, false, dwprocessid);

if (!hprocess)

//在開啟的程序中開闢一塊記憶體區域

premotedllpath = virtualallocex(hprocess, null, sizeof(sdllpath), mem_commit, page_readwrite);

//將要注入的dll的完整路徑字串寫入到剛開闢的記憶體中(因為要在對方程序中讀取這個字串 所以必須把字串寫入到對方程序的位址空間)

writeprocessmemory(hprocess, premotedllpath, sdllpath, sizeof(sdllpath), &dwlen);

//建立遠端執行緒

//第三個引數說明一下 getmodulehandle取得kernel32模組控制代碼 getprocaddress取得kenrnel32下的loadlibrarya函式的位址 這兩個函式是本地函式

//獲取的是本地載入的模組及函式的位址 而這個位址是用在遠端 是因為kernel32的模組控制代碼和函式位址整個系統通用 除kernel32和user32外 其它模組不能這樣做

hthread = createremotethread(hprocess, null, 0, (lpthread_start_routine)getprocaddress(getmodulehandle("kernel32"), "loadlibrarya"), premotedllpath, 0, null);

waitforsingleobject(hthread, infinite);

//獲取執行緒的返回值 因為執行緒函式是loadlibrarya 所以這兒的值就是loadlibrarya的返回值 儲存以備freelibrary使用

getexitcodethread(hthread, &dwthreadret);

closehandle(hthread);

//釋放先前在遠端程序中開闢的記憶體

virtualfreeex(hprocess, premotedllpath, sizeof(sdllpath), mem_release);

//再建立個遠端執行緒 本次遠端執行緒的執行緒函式是freelibrary 以釋放對自定義dll的引用

hthread = createremotethread(hprocess, null, 0, (lpthread_start_routine)getprocaddress(getmodulehandle("kernel32"), "freelibrary"), (void*)dwthreadret, 0, null);

closehandle(hthread);

//關閉開啟的程序控制代碼 至此結束

closehandle(hprocess);

afxmessagebox("exe中注入執行緒執行結束!");

}注意一點,在mfc的dll中要載入對話方塊資源以顯示對話方塊的話要把類似這樣的**

c***dlg dlg;

dlg.domodal();

**:

VC DLL注入目標程式

向其他程式注入dll的原理比較簡單 就是呼叫幾個windowsapi,在目標程式中開啟乙個執行緒,在這個執行緒中載入動態庫,動態庫被載入時會執行初始化的函式,我們就可以在這個初始化函式中對目標程式做任何想做的事情。或者讓目標程式代替你的程式做一些事情。當目標程式注入dll後,這個負責注入的程式就可以...

遠端程序注入嘗試

漸漸的漸漸的,對於win32的程式設計有了一定的了解了,自己嘗試了一下遠端執行緒注入。雖然說最後的結果沒有在我的機器上面實現 可能是作業系統的問題,畢竟我的實現思路沒有什麼問題 首先了解一下什麼是遠端執行緒,這一切都由於win32提供了乙個函式,他叫createremotethread,它允許你在別...

注入系列 遠端執行緒注入

1.使用程序pid開啟程序,獲得控制代碼 2.使用程序控制代碼申請記憶體空間 3.把dll路徑寫入記憶體 4.建立遠端執行緒,呼叫loadlibrary 5.釋放收尾工作或者解除安裝dll 實現 bool cinjectdlg zwcreatethreadexinjectdll dword dwpr...