建立遠端執行緒

2021-10-24 20:09:39 字數 1060 閱讀 5127

#include

using namespace std;

#include

#include

bool loaddll(dword dwprocessid, char* szdllpathname)

//2.計算dll路徑名字長度,並且要加上0結尾的長度

dwlength = strlen(szdllpathname) + 1;

//3.在被注入程序分配記憶體

lpallocaddr = virtualallocex(hprocess, null, dwlength, mem_commit, page_readwrite);

if (lpallocaddr == null)

//4.拷貝dll路徑名字到目標程序的記憶體 做引數做準備

//loadlibrarya("bret") 做路徑傳這個引數準備

bret = writeprocessmemory(hprocess, lpallocaddr, szdllpathname, dwlength, null);

if (!bret)

//5.獲取模組位址

hmodule hmoudle = getmodulehandle("kernel32.dll");

if (!hmoudle)

//6.獲取loadlibrarya函式位址

dwloadaddr = (dword)getprocaddress(hmoudle, "loadlibrarya");

if (!dwloadaddr)

//7.建立遠端執行緒,載入dll

thread = createremotethread(hprocess, null,0,(lpthread_start_routine)dwloadaddr, lpallocaddr, 0, null);

messageboxa(null, "a", "a", mb_yesno);

//8.關閉幾次呢控制代碼

closehandle(hprocess);

closehandle(thread);

return true;

} int main()

建立遠端執行緒

1 用virtualallocex函式在遠端程序的位址空間中分配一塊記憶體。2 用writeprocessmemory函式反映dll的路徑名複製到第1步分配的記憶體中 3 用getprocaddress函式來得到loadlibrary w 或a 函式在kernel32.dll的真實位址。4 用cre...

mysql建立遠端帳戶 mysql 建立遠端帳戶

linux上安裝的mysql。預設狀況下只有乙個帳戶 root 此帳戶只能進行本地鏈結 對外拒絕鏈結 mysql 咱們須要建立乙個容許遠端登陸的資料庫帳戶 這樣才能夠方便的進行遠端操做資料 linux 預設狀況下 linux內的mysql資料庫mysql,user表內的使用者許可權只是對localh...

執行緒 建立執行緒

重寫run public void run 例項化物件 類名 t new 類名 設定屬性 名字,優先順序 優先順序是1 10的整數,1最小,預設是5 優先順序越高,該執行緒占用cpu的時間 機會 越多。id是自動生成 t.setname 執行緒1 t.setpriority 4 啟動執行緒,預設呼叫...