[C#技術分享]給自己的軟體添加後門

來源:互聯網
上載者:User
軟體彩蛋我想大家都應該聽說過。經典的比如在Excel得某個單元隔裡面OOXX就可以獲得一個賽車遊戲之類。這是一種軟體彩蛋,純屬娛樂。但是更多的“彩蛋”被用作軟體後門。比如我們提供給客戶一個軟體,通常是看不到某些調試用的視窗和工具的;當我們被要求給客戶提供現場支援人員的時候,我們往往希望通過某種隱秘的手段來開啟這些條使用的工具和視窗,這就是後門。這類後門中又以按鍵後門最為常見,下面我們就利用一個已有的第三方函數庫Utilities.dll來構建一個後門系統。

首先建立一個工程,然後完成對第三方庫Utilities的引用。

然後開打Form1的代碼編輯視窗,在表單類中添加一個 後門類KeyboardIncantationMonitor
C# code private KeyboardIncantationMonitor m_KeyBackDoor =
new KeyboardIncantationMonitor();

建立一個私人成員函數,並添加兩個後門

 1 private
2 void AddBackDoor(){ //! 第一個後門
3
4 do { //! 申請一個後門暗號
5 KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation; //! 初始化這個暗號為:依次按下 <Esc>HELLO<Enter>
6 tInc.AddKey(Keys.Escape); tInc.AddKey(Keys.H); tInc.AddKey(Keys.E); tInc.AddKey(Keys.L); tInc.AddKey(Keys.L); tInc.AddKey(Keys.O); tInc.AddKey(Keys.Enter); //! 對上暗號以後的處理常式
7 tInc.IncantationCantillatedReport +=
8 new IncantationReport(BackdoorHandler_A); //! 將這個暗號添加到後門監視器裡面
9 m_KeyBackDoor.AddIncantation(tInc); } while (false); //! 第二個後門
10
11 do { //! 申請一個後門暗號
12 KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation; //! 初始化這個暗號為:依次按下 <Esc>Bye<Enter>
13 tInc.AddKey(Keys.Escape); tInc.AddKey(Keys.B); tInc.AddKey(Keys.Y); tInc.AddKey(Keys.E); tInc.AddKey(Keys.Enter); //! 對上暗號以後的處理常式
14 tInc.IncantationCantillatedReport +=
15 new IncantationReport(BackdoorHandler_B); //! 將這個暗號添加到後門監視器裡面
16 m_KeyBackDoor.AddIncantation(tInc); } while (false);}//! 第一個後門的處理常式
17 void BackdoorHandler_A(IIncantation tInc){ button1.Visible =
18 true;}//! 第二個後門的處理常式
19 void BackdoorHandler_B(IIncantation tInc){ button1.Visible =
20 false;}

在Form1的建構函式中增加對AddBackDoor方法的調用,這樣我們就把後門加好了

1 public Form1() {      InitializeComponent();      //! 加入後門 
2 AddBackDoor(); }

在什麼地方安插後門呢?依照個人喜好了,不過既然是一個按鍵後門,肯定要選擇一個能接收KeyDown或者KeyUp事件的地方。
比如我們在Form1上增加一個文字框,將其ReadOnly屬性設定為True,並添加一段文字:“著作權,翻版必究”。並在表單上增加一個按鈕,作為我們示範的對象:普通狀況下,看不到這個按鈕,開啟後門以後,按鈕的visible屬性就變為true,我們就能看見了;我們也可以使用另外一個後門重新將按鈕的visible屬性設定為false,然後就可以交給客戶了。^_^

選中剛才所說的文字框控制項,在Property視窗中選擇Event,雙擊KeyDown,進入代碼編輯視窗,並在KeyDown處理常式中加入對後門監視器的處理:也就是把按下的鍵告訴監視器:

1 private
2 void textBox1_KeyDown(object sender, KeyEventArgs e) { //! 告訴後門監視器哪個鍵被按下了
3 m_KeyBackDoor.Append(e.KeyCode); } //在後門處理常式A中將Button的Visible屬性設定為True; //! 第一個後門的處理常式
4
5 void BackdoorHandler_A(IIncantation tInc) { button1.Visible =
6 true; } //在後門處理常式B中將Button的Visible屬性設定為False; //! 第二個後門的處理常式
7
8 void BackdoorHandler_B(IIncantation tInc) { button1.Visible =
9 false; }

運行程式,果然看不到Button,他被隱藏了
選中寫有“翻版必究”的文字框,依次按下: <Esc> <H> <E> <L> <L> <O> <Enter> 鍵, button1出現了
依次按下: <Esc> <B> <Y> <E> <Enter> 鍵, button1又消失了

大功告成。
無論任何時候你都可以從頭開始輸入後門,不必擔心上次從什麼地方開始的。當然,也不用考慮大小寫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.