日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本91av| 成年人黄色免费视频 | 国产午夜在线观看 | 中文字字幕在线中文 | 亚洲第99页| 朱竹清到爽高潮痉挛 | 国产成人精品午夜福利Av免费 | heyzo亚洲 | 男女视频免费观看 | 久久亚洲AV无码 | 99久久婷婷国产综合精品电影 | 激情瑟瑟| 香蕉视频久久 | 一区二区三区入口 | 饥渴少妇伦色诱公 | 少妇太爽了 | 国产主播喷水 | 青青草成人影视 | 亚洲天堂三区 | 97在线观看免费视频 | 岛国精品在线观看 | 欧美三级欧美成人高清 | 亚洲视频六区 | 国产精品麻豆果冻传媒在线播放 | 牛牛视频在线观看 | 久久9热| 中文字幕一区二区三三 | 国产欧美日韩免费 | 不卡一区二区三区四区 | 国产一区二区麻豆 | 亚洲视频综合网 | 69视频一区二区三区 | 国产视频在线观看网站 | 婷婷在线一区 | 日日摸天天爽天天爽视频 | 91视频啊啊啊 | jizz国产| 国产做爰免费视频观看 | 日韩中文av | 一区亚洲 | 成年人在线播放 | 伊人春色视频 | 色图综合网| 在线观看aa| 亚欧精品视频一区二区三区 | 黄色av网址大全 | 国产午夜精品久久久久久久 | 1769国产精品 | 中文字幕在线第一页 | 青青草av | 中文字幕 日韩有码 | fc2ppv在线观看 | 一个人看的毛片 | 玖玖爱av | 91天天| 无码免费一区二区三区免费播放 | 欧美黄色片视频 | 国产精品欧美综合 | 日韩欧美国产成人 | 日韩精品在线视频观看 | 久久精品123| 玩偶姐姐在线看 | 在线观看欧美日韩 | 绯色av蜜臀vs少妇 | 91操视频| 激情小说在线观看 | av色综合| 国产成人无码精品久久 | avt天堂网| 日本东京热一区二区三区 | 久久精品欧美一区二区 | 深爱五月激情五月 | 久久久性 | 国产xxxx在线观看 | 男女男精品视频 | 日本一区二区在线播放 | 97人妻精品一区二区 | 激情小说在线观看 | 色久综合网 | 在线免费看污片 | 国产精品久久久久久久久 | 激情无码人妻又粗又大 | 在线观看你懂的视频 | 三上悠亚人妻中文字幕在线 | 伊人国产一区 | 国产亚洲欧美日韩高清 | 嫩草影院在线免费观看 | 日本性猛交 | 亚洲国产成人精品女人久久 | 亚洲精品一区二区三区精华液 | 韩国三级bd高清中字2021 | 91香蕉国产在线观看 | 少妇高潮露脸国语对白 | 夜夜躁日日躁狠狠久久av | 亚洲一级在线播放 | 欧美激情二区三区 | 欧美三级午夜理伦三级小说 | 国产aa毛片| 亚洲国产精品一区二区久久hs |