遠端注入技術

2021-06-17 00:40:51 字數 1203 閱讀 6315

/* 遠端注入技術

loadlibrarya

2.以執行緒形式執行目標程序中的loadlibrarya

*/#include #include #include "stdio.h"

#include using namespace std;

#define def_buf_size 1024

// 用於儲存注入模組dll的路徑全名

char szdllpath[def_buf_size] = ;

// 使用遠端執行緒向指定id的程序注入模組

bool injectmoduletoprocessbyid ( dword dwprocessid )

//把dll檔名寫入申請的空間

if ( writeprocessmemory ( hprocess, lpremotedllname, szdllpath, nlen, null) == false )

hmodule hmodule = getmodulehandle ( (char *)"kernel32.dll" ) ;

lpthread_start_routine fnstartaddr = ( lpthread_start_routine )getprocaddress(hmodule,"loadlibrarya") ;

if ( (dword)fnstartaddr == 0 )

//建立遠端執行緒

handle hremotethread = createremotethread (

hprocess,//目標程序控制代碼

null,

0,fnstartaddr,//要建立執行緒的位址

lpremotedllname,//執行緒引數

0,null

) ;if ( hremotethread == null )

// 等待遠端執行緒結束

if ( waitforsingleobject ( hremotethread, infinite ) != wait_object_0 )

closehandle ( hremotethread ) ;

closehandle ( hmodule ) ;

closehandle ( hprocess ) ;

return true ;

}int main()

return 0;

}

C 實現遠端注入DLL技術要點總結

現將遠端注入dll的實現方法總結如下 steps 2.為你要操作控制的proc 這裡成為目標proc new乙個執行緒,使用windows中的handle createremotethread 具體使用查閱msdn,有很好的說明 但是,在使用createremotethread時要注意對執行緒函式的...

注入系列 遠端執行緒注入

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

執行緒遠端注入

執行緒遠端注入的技術並不複雜,主要用到createremotethread這個api。難點有個地方,由於要注入其他程序的空間,因此,注入用的那個執行緒中的 必須使用和被注入程序的記憶體空間一致。換句話講,就是需要找到執行緒中使用的函式在遠端程序中的位址。明白這個,問題就沒有了。下面是乙個完整的執行緒...