用C 實現木馬程式

2021-03-31 10:48:40 字數 2807 閱讀 4071

木馬的介紹

因為本文是**木馬程式,所以在介紹之前有一些木馬構成的基本知識事先說明。乙個完整的木馬系統由硬體部分,軟體部分和具體連線部分組成。這裡主要對軟體部分介紹,它主要有控制端程式、木馬程式(後台服務程式)、木馬配製程式組成。控制端用以遠端控**務端的程式;木馬程式是潛入服務端內部,獲取其操作許可權的程式;木馬配製程式是設定木馬程式的埠號,觸發條件,木馬名稱等,使其在服務端藏的更隱蔽的程式。

使用的技術:

控制端程式傳送控制碼控**務器,伺服器後台執行,修改登錄檔達到控制的目的。技術不是很難的,主要體現c#的網路程式設計和登錄檔的修改。

控制端開發:

控制端向伺服器發出一段控制碼,服務端(木馬程式)收到控制碼後,根據控制的要求,完成指定的要求,如果伺服器完成工作,返回成功的資訊。

控制端的開發:

控制碼的設定你可以自已設定,不需要詳解,主要有以下幾個難點。

1、連線請求

使用了.***類中的 system.***.sockets.tcpclient類,

tcpclient(string hostname,int port) 

hostname 是要控制的主機名稱,當然你也可以用ip位址。

port是埠。

// system.eventargs包含事件資料類的基類

private void button7_click(object sender, system.eventargs e)

catch 

}//private void buttion 

2、測試是否與被控制機連線上。程式的流程是傳送控制碼看控制端是否有反應,如果有返回則顯示控制成功。 //提供網路訪問的資料流 

//private ***workstream stream;

**如下:

private void button8_click(object sender, system.eventargs e)

}catch(exception ee)

} 3、控制生效的**

private void button9_click(object sender, system.eventargs e)

else if(radiobutton2.checked)

else if(radiobutton3.checked)

else if(radiobutton4.checked)

else if(radiobutton5.checked)

else if(radiobutton6.checked)

if (control =="000000")

else if(control != "000000")

//endif

}//try

catch

}//else if

} 4、執行緒執行的函式

private void receive()

if(ss== "hkz")

} 服務端的開發: 

要實現木馬服務的程式,主要實現以下幾個功能:後台的執行(隱藏技術),控制碼的接收與登錄檔的修改,下面對這三方面做介紹:

1、在vc#中,建立乙個後台服務程式是很容易的,先建立乙個新的c#的windows應用程式,專案名稱自定(不過為了隱藏可使用與系統相近的名稱),將窗體屬性「showintaskbar」屬性設為false,讓它執行時不會在工作列中顯示,並將屬性「windowstate」屬性設為mininized即可,這樣窗體就可以隱藏執行了。當然你也可以在initialize***ponent()設定,此函式起初始化的作用,在窗體顯示前執行,**如下:

private void initialize***ponent()

2、控制**的接收,必需在服務程式執行開始就啟動,所以偵聽執行緒必需在程式初始化中啟動,所以放在窗體的建構函式中,**註解如下:

public form1() //窗體的建構函式

recontrolcode函式如下,完整**見程式

private void recontrolcode()

//case

}//while

} //private void recontrolcode 

3、c#中實現登錄檔的修改,使用了.***類庫中的system.microsoft.win32命令空間,它提供兩種型別的類:處理由作業系統引發的事件的類和對系統登錄檔進行操作的類。下面就可以看到它的用法。這裡我做了乙個修改登錄檔的子程式:使計算機不能登出。在這之前先了解登錄檔,在子鍵software/microsoft/windows/currentversion/policies/explorer

下面設鍵值nologoff 為 1 即可使計算機無法登出。在下面的函式中用c#實現對登錄檔的修改:

private void unlogoff()

catch{}

//如果不存在自已建立

if(key1 ==null)

catch{}}} 

4、在木馬程式中還有乙個重要的功能就是自我的複製和轉移。木馬引入被控制的主機時必需自動將木馬隱藏在system,system32的目錄下以防被發現。轉移的**分析如下,主要實現的功能是將d盤下的木馬程式轉移到c:/winnnt/system/msdoss.exe,同時換名稱。使用的.***命名空間system.io,它的作用是允許對資料流和檔案進行同步和非同步讀寫。這裡我們使用了system.io.file類。

private void movecc1()

catch {}

//將新移的木馬程式設為自啟動.分析和前面一樣

trycatch{}

if(key1 ==null)

catch{}

}} //movecc1() 

到這裡乙個簡單的c#的木馬就完成了。

用C 實現木馬程式

服務端的開發 要實現木馬服務的程式,主要實現以下幾個功能 後台的執行 隱藏技術 控制碼的接收與登錄檔的修改,下面對這三方面做介紹 1 在vc 中,建立乙個後台服務程式是很容易的,先建立乙個新的c 的windows應用程式,專案名稱自定 不過為了隱藏可使用與系統相近的名稱 將窗體屬性 showinta...

用C 實現木馬程式

因為本文是 木馬程式,所以在介紹之前有一些木馬構成的基本知識事先說明。乙個完整的木馬系統由硬體部分,軟體部分和具體連線部分組成。這裡主要對軟體部分介紹,它主要有控制端程式 木馬程式 後台服務程式 木馬配製程式組成。控制端用以遠端控 務端的程式 木馬程式是潛入服務端內部,獲取其操作許可權的程式 木馬配...

用C 實現木馬程式

服務端的開發 要實現木馬服務的程式,主要實現以下幾個功能 後台的執行 隱藏技術 控制碼的接收與登錄檔的修改,下面對這三方面做介紹 1 在vc 中,建立乙個後台服務程式是很容易的,先建立乙個新的c 的windows應用程式,專案名稱自定 不過為了隱藏可使用與系統相近的名稱 將窗體屬性 showinta...