日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WinNT/Win2000/WinXP中的远线程技术之一

發(fā)布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WinNT/Win2000/WinXP中的远线程技术之一 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

WinNT/Win2000/WinXP中的遠(yuǎn)線程技術(shù)之一--DLL注入

??? 什么是遠(yuǎn)線程?我們知道用CreateThread可以在當(dāng)前進(jìn)程里建立一個線程,遠(yuǎn)線程與此類似,只不過是在其他進(jìn)程中建立一個線程,用API函數(shù)CreateRemoteThread。這個遠(yuǎn)線程建立后就與建立它的進(jìn)程無關(guān)了,而是進(jìn)入了另外一個進(jìn)程。舉例說,進(jìn)程A可以在進(jìn)程B中建立一個遠(yuǎn)線程,這個遠(yuǎn)線程就是進(jìn)程B中的線程了,而此時如果進(jìn)程A結(jié)束了,也不會影響到那個遠(yuǎn)線程的運行,除非進(jìn)程B也結(jié)束了,那個遠(yuǎn)線程才會結(jié)束。怎么樣,是不是很神奇啊?現(xiàn)在我們來看看怎么建立遠(yuǎn)線程。

??? 最簡單的遠(yuǎn)線程技術(shù)是DLL注入。好,先從這個講起。所謂DLL注入就是將一個DLL放進(jìn)某個進(jìn)程的地址空間里,讓它成為那個進(jìn)程的一部分。要實現(xiàn)DLL注入,首先需要打開目標(biāo)進(jìn)程。

hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | //允許遠(yuǎn)程創(chuàng)建線程
    PROCESS_VM_OPERATION | //允許遠(yuǎn)程VM操作
    PROCESS_VM_WRITE, //允許遠(yuǎn)程VM寫
    FALSE, dwRemoteProcessId )
由于我們后面需要寫入遠(yuǎn)程進(jìn)程的內(nèi)存地址空間并建立遠(yuǎn)程線程,所以需要申請足夠的權(quán)限(PROCESS_CREATE_THREAD、VM_OPERATION、VM_WRITE)。

如果進(jìn)程打不開,以后的操作就別想了。進(jìn)程打開后,就可以建立遠(yuǎn)線程了,不過別急,先想想這個遠(yuǎn)線程的線程函數(shù)是什么?我們的目的是注入一個DLL。而且我們知道用LoadLibrary可以加載一個DLL到本進(jìn)程的地址空間。于是,自然會想到如果可以在目標(biāo)進(jìn)程中調(diào)用LoadLibrary,不就可以把DLL加載到目標(biāo)進(jìn)程的地址空間了嗎?對!就是這樣。遠(yuǎn)線程就在這兒用了一次,建立的遠(yuǎn)線程的線程函數(shù)就是LoadLibrary,而參數(shù)就是要注入的DLL的文件名。(這里需要自己想一想,注意到了嗎,線程函數(shù)ThreadProc和LoadLibrary函數(shù)非常相似,返回值,參數(shù)個數(shù)都一樣) 還有一個問題,LoadLibrary這個函數(shù)的地址在哪兒?也許你會說,這個簡單,GetProcAddress就可以得出。于是代碼就出來了。

char *pszLibFileRemote="my.dll";

PTHREAD_START_ROUTINE pfnStartAddr = (PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA");

CreateRemoteThread( hRemoteProcess, NULL, 0, pfnStartAddr, pszLibFileRemote, 0, NULL);

??? 但是不對!不要忘了,這是遠(yuǎn)線程,不是在你的進(jìn)程里,而pszLibFileRemote指向的是你的進(jìn)程里的數(shù)據(jù),到了目標(biāo)進(jìn)程,這個指針都不知道指向哪兒去了,同樣pfnStartAddr這個地址上的代碼到了目標(biāo)進(jìn)程里也不知道是什么了,不知道是不是你想要的LoadLibraryA了。但是,問題總是可以解決的,Windows有些很強(qiáng)大的API函數(shù),他們可以在目標(biāo)進(jìn)程里分配內(nèi)存,可以將你的進(jìn)程中的數(shù)據(jù)拷貝到目標(biāo)進(jìn)程中。因此pszLibFileRemote的問題可以解決了。

char *pszLibFileName="my.dll";//注意,這個一定要是全路徑文件名,除非它在系統(tǒng)目錄里;原因大家自己想想。
//計算DLL路徑名需要的內(nèi)存空間
int cb = (1 + lstrlenA(pszLibFileName)) * sizeof(char);
//使用VirtualAllocEx函數(shù)在遠(yuǎn)程進(jìn)程的內(nèi)存地址空間分配DLL文件名緩沖區(qū)
pszLibFileRemote = (char *) VirtualAllocEx( hRemoteProcess, NULL, cb, MEM_COMMIT, PAGE_READWRITE);
//使用WriteProcessMemory函數(shù)將DLL的路徑名復(fù)制到遠(yuǎn)程進(jìn)程的內(nèi)存空間
iReturnCode = WriteProcessMemory(hRemoteProcess, pszLibFileRemote, (PVOID) pszLibFileName, cb, NULL);
??? OK,現(xiàn)在目標(biāo)進(jìn)程也認(rèn)識pszLibFileRemote了,但是pfnStartAddr好像不好辦,我怎么可能知道LoadLibraryA在目標(biāo)進(jìn)程中的地址呢?其實Windows為我們解決了這個問題,LoadLibraryA這個函數(shù)是在Kernel32.dll這個核心DLL里的,而這個DLL很特殊,不管對于哪個進(jìn)程,Windows總是把它加載到相同的地址上去。因此你的進(jìn)程中LoadLibraryA的地址和目標(biāo)進(jìn)程中LoadLibraryA的地址是相同的(其實,這個DLL里的所有函數(shù)都是如此)。至此,DLL注入結(jié)束了。
?

總結(jié)

以上是生活随笔為你收集整理的WinNT/Win2000/WinXP中的远线程技术之一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色人天堂 | 最新激情网 | 色涩久久| 伊人动漫 | 久久免费激情视频 | 日本视频不卡 | 国产无遮挡又黄又爽 | 色 综合 欧美 亚洲 国产 | 男男巨肉啪啪动漫3d | 全黄性高潮 | 扒下小娇妻的内裤打屁股 | av一区不卡 | 欧美三级小说 | 国产成人精品一区二三区 | 日韩精品人妻一区二区中文字幕 | 免费在线黄 | 成年性生交大片免费看 | 午夜精品久久99蜜桃的功能介绍 | 国产精品456| 黑丝美女一区二区 | 亚洲精品日韩丝袜精品 | 精品中文一区二区三区 | 日本aa视频 | 日韩一页| 网红av在线 | 久久久久久免费精品 | 人物动物互动39集免费观看 | 欧美在线国产 | 亚洲蜜桃精久久久久久久久久久久 | 99视屏| 激情a| 又粗又大又硬毛片免费看 | www夜插内射视频网站 | 国产无遮挡18禁无码网站不卡 | 日本欧美一区二区三区 | 每日av在线 | 超碰在线一区 | 91色蝌蚪| 精品久久久久久久久久 | 性饥渴的农村熟妇 | 成年人视频在线免费看 | 久久精品福利 | 都市激情亚洲 | 999精品视频 | 香蕉色综合 | 少妇太紧太爽又黄又硬又爽 | 国产91啪| 在线精品小视频 | 男人草女人| 善良的少妇伦理bd中字 | 朝桐光av在线 | 亚洲成人高清在线 | 蜜臀av在线观看 | 日韩激情视频一区二区 | 国产精品欧美综合亚洲 | 亚洲国产精品一区二区尤物区 | 猫咪av网| 美女四肢被绑在床扒衣 | av噜噜在线观看 | 欧美亚洲国产成人 | 欧美日本韩国 | 国产日产亚洲系列最新 | 日韩人妻一区二区三区 | 精品爱爱 | 日本久久精品 | 国产精品毛片一区二区在线看舒淇 | 国产丝袜一区二区 | 国产熟妇乱xxxxx大屁股网 | 奇米精品一区二区三区在线观看一 | 欧美另类极品 | 欧美aa级| 99这里只有 | 中国肥胖女人真人毛片 | 性视频网址| 五月天激情国产综合婷婷婷 | 高h视频在线播放 | 久热久操 | 在线看片黄 | 一区亚洲 | 色综合99| 亚洲免费色 | 国产精品理论在线观看 | 在线观看亚洲成人 | 中文字幕无码乱人伦 | 在线看片中文字幕 | 在线视频资源 | 成人片网址 | 免费一二三区 | 国产成人一区 | 成人在线高清 | 在线视频97 | 强伦轩人妻一区二区电影 | 亚洲无毛 | 少妇又色又紧又大爽又刺激 | 欧美一区二区三区四区五区六区 | 亚洲精品视频网 | 男ji大巴进入女人的视频 | 国产亚洲视频在线 | 久久99一区二区 |