日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#實現(xiàn)遠程線程插入

能否使用C#實現(xiàn)遠程線程插入嗎?

成都創(chuàng)新互聯(lián)公司企業(yè)建站,十余年網(wǎng)站建設經(jīng)驗,專注于網(wǎng)站建設技術,精于網(wǎng)頁設計,有多年建站和網(wǎng)站代運營經(jīng)驗,設計師為客戶打造網(wǎng)絡企業(yè)風格,提供周到的建站售前咨詢和貼心的售后服務。對于網(wǎng)站制作、做網(wǎng)站中不同領域進行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準市場調(diào)研,為客戶提供的解決方案。

使用嚴格的C#,不借助任何其它技術。遠程線程插入是不能在.NET平臺上實現(xiàn)的。然而在shellcode技術和遠程線程插入之代碼插入的基礎上。完全可以實現(xiàn)基于.NET平臺的混合型遠程線程插入。

最終效果是這樣的:用于將線程插入到其它進程的可執(zhí)行程序是.NET程序(混合幾百字節(jié)的機器碼),用于被插入到其它進程的DLL或EXE也是純.NET實現(xiàn)的。

可被插入的對象是所有有權限進程WriteProcessMemory操作的本機進程。

C#實現(xiàn)遠程線程插入需要的技術:.NET進程寄宿遠程線程插入之代碼插入

所謂的C#實現(xiàn)遠程線程插入,其核心就是將一個.NET程序集寄宿到一個本機上的任意目標進程中并以線程方式運行。CLR環(huán)境其根本就是一個COM服務器。我們寫的.NET程序集都是在這個COM服務器的支持下運行的。如果想讓一個.NET程序集在任意的本機進程中運行。那么首先那個進程需要具有.NET環(huán)境時環(huán)境。因為我們在遠程線程插入時就需要用到。 NET環(huán)境時環(huán)境。沒有這個環(huán)境,我們的.NET程序集就沒有辦法被加載執(zhí)行。如果本機進程是WIN32的,沒有.NET運行時環(huán)境怎么辦呢?我們需要給它一個,代碼如下:

 
 
 
  1. DWORD __stdcall clrfunclocal(){
  2. ICLRRuntimeHost * pClrHost;
  3. CorBindToRuntimeEx
    (NULL,NULL,0,CLSID_CLRRuntimeHost,IID_ICLRRuntimeHost,(PVOID*)&pClrHost);
  4. pClrHost->Start();
  5. DWORD retVal=0;
  6. hr=pClrHost-> ExecuteInDefaultAppDomain
    (s_asmpath),s_class,s_method,NULL,&retVal);
  7. }

以上代碼的最后一句是用于在默認程序域內(nèi)執(zhí)行一個.NET程序集。這段代碼是用C++寫的。

如果是自己寫了一個WIN32程序,因為某種原因需要加載一個.NET程序集并執(zhí)行它的功能。你就可以像以上那樣寫。但我們是做遠程線程插入,那么如何在被插入的進程中執(zhí)行上數(shù)代碼呢?高手已經(jīng)明白了。就是將這些代碼編譯成像SHELLCODE一樣的裸的可執(zhí)行代碼。然后使用遠程線程插入的代碼插入就可以 CLR環(huán)境加載到其它進程中并使其執(zhí)行我們想要的.NET程序集里的代碼。

如果你已經(jīng)有辦法將上述代碼編譯成裸的可執(zhí)行本機代碼了。你就可以將這些本機代碼作為資源加到你的C#項目中。備用。

在C#中執(zhí)行遠程線程插入和在C++中是一樣的。


網(wǎng)站名稱:C#實現(xiàn)遠程線程插入
標題來源:http://www.5511xx.com/article/dpsjoei.html