新聞中心
能否使用C#實(shí)現(xiàn)遠(yuǎn)程線程插入嗎?

成都創(chuàng)新互聯(lián)公司企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站制作、做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
使用嚴(yán)格的C#,不借助任何其它技術(shù)。遠(yuǎn)程線程插入是不能在.NET平臺(tái)上實(shí)現(xiàn)的。然而在shellcode技術(shù)和遠(yuǎn)程線程插入之代碼插入的基礎(chǔ)上。完全可以實(shí)現(xiàn)基于.NET平臺(tái)的混合型遠(yuǎn)程線程插入。
最終效果是這樣的:用于將線程插入到其它進(jìn)程的可執(zhí)行程序是.NET程序(混合幾百字節(jié)的機(jī)器碼),用于被插入到其它進(jìn)程的DLL或EXE也是純.NET實(shí)現(xiàn)的。
可被插入的對(duì)象是所有有權(quán)限進(jìn)程WriteProcessMemory操作的本機(jī)進(jìn)程。
C#實(shí)現(xiàn)遠(yuǎn)程線程插入需要的技術(shù):.NET進(jìn)程寄宿遠(yuǎn)程線程插入之代碼插入
所謂的C#實(shí)現(xiàn)遠(yuǎn)程線程插入,其核心就是將一個(gè).NET程序集寄宿到一個(gè)本機(jī)上的任意目標(biāo)進(jìn)程中并以線程方式運(yùn)行。CLR環(huán)境其根本就是一個(gè)COM服務(wù)器。我們寫的.NET程序集都是在這個(gè)COM服務(wù)器的支持下運(yùn)行的。如果想讓一個(gè).NET程序集在任意的本機(jī)進(jìn)程中運(yùn)行。那么首先那個(gè)進(jìn)程需要具有.NET環(huán)境時(shí)環(huán)境。因?yàn)槲覀冊(cè)谶h(yuǎn)程線程插入時(shí)就需要用到。 NET環(huán)境時(shí)環(huán)境。沒有這個(gè)環(huán)境,我們的.NET程序集就沒有辦法被加載執(zhí)行。如果本機(jī)進(jìn)程是WIN32的,沒有.NET運(yùn)行時(shí)環(huán)境怎么辦呢?我們需要給它一個(gè),代碼如下:
- DWORD __stdcall clrfunclocal(){
- ICLRRuntimeHost * pClrHost;
- CorBindToRuntimeEx
(NULL,NULL,0,CLSID_CLRRuntimeHost,IID_ICLRRuntimeHost,(PVOID*)&pClrHost);- pClrHost->Start();
- DWORD retVal=0;
- hr=pClrHost-> ExecuteInDefaultAppDomain
(s_asmpath),s_class,s_method,NULL,&retVal);- }
以上代碼的最后一句是用于在默認(rèn)程序域內(nèi)執(zhí)行一個(gè).NET程序集。這段代碼是用C++寫的。
如果是自己寫了一個(gè)WIN32程序,因?yàn)槟撤N原因需要加載一個(gè).NET程序集并執(zhí)行它的功能。你就可以像以上那樣寫。但我們是做遠(yuǎn)程線程插入,那么如何在被插入的進(jìn)程中執(zhí)行上數(shù)代碼呢?高手已經(jīng)明白了。就是將這些代碼編譯成像SHELLCODE一樣的裸的可執(zhí)行代碼。然后使用遠(yuǎn)程線程插入的代碼插入就可以 CLR環(huán)境加載到其它進(jìn)程中并使其執(zhí)行我們想要的.NET程序集里的代碼。
如果你已經(jīng)有辦法將上述代碼編譯成裸的可執(zhí)行本機(jī)代碼了。你就可以將這些本機(jī)代碼作為資源加到你的C#項(xiàng)目中。備用。
在C#中執(zhí)行遠(yuǎn)程線程插入和在C++中是一樣的。
本文名稱:C#實(shí)現(xiàn)遠(yuǎn)程線程插入
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dpsjoei.html


咨詢
建站咨詢
