首页

给自己的软件加后门

c#

2020-9-10

软件彩蛋我想大家都应该听说过。经典的比如在Excel得某个单元隔里面OOXX就可以获得一个赛车游戏之类。这是一种软件彩蛋,纯属娱乐。但是更多的“彩蛋”被用作软件后门。比如我们提供给客户一个软件,通常是看不到某些调试用的窗口和工具的;当我们被要求给客户提供现场技术支持的时候,我们往往希望通过某种隐秘的手段来开启这些条使用的工具和窗口,这就是后门。这类后门中又以按键后门最为常见,下面我们就利用一个已有的第三方函数库Utilities.dll来构建一个后门系统。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Utilities;

namespace BackdoorExample
{
    public partial class Form1 : Form
    {
        private KeyboardIncantationMonitor m_KeyBackDoor = new KeyboardIncantationMonitor();

        public Form1()
        {
            InitializeComponent();

            //! 加入后门
            AddBackDoor();
		}

		private void AddBackDoor()
		{
			//! 第一个后门
			do
			{
				//! 申请一个后门暗号
				KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation;

				//! 初始化这个暗号为:依次按下 <Esc>HELLO<Enter>
				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);

				//! 对上暗号以后的处理程序
				tInc.IncantationCantillatedReport  = new IncantationReport(BackdoorHandler_A);

				//! 将这个暗号添加到后门监视器里面
				m_KeyBackDoor.AddIncantation(tInc);
			}
			while (false);

			//! 第二个后门
			do
			{
				//! 申请一个后门暗号
				KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation;

				//! 初始化这个暗号为:依次按下 <Esc>Bye<Enter>
				tInc.AddKey(Keys.Escape);
				tInc.AddKey(Keys.B);
				tInc.AddKey(Keys.Y);
				tInc.AddKey(Keys.E);
				tInc.AddKey(Keys.Enter);

				//! 对上暗号以后的处理程序
				tInc.IncantationCantillatedReport  = new IncantationReport(BackdoorHandler_B);

				//! 将这个暗号添加到后门监视器里面
				m_KeyBackDoor.AddIncantation(tInc);
			}
			while (false);
		}

		//! 第一个后门的处理程序
		void BackdoorHandler_A(IIncantation tInc)
		{
			button1.Visible = true;
		}

		//! 第二个后门的处理程序
		void BackdoorHandler_B(IIncantation tInc)
		{
			button1.Visible = false;
		}

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            //! 告诉后门监视器哪个键被按下了
            m_KeyBackDoor.Append(e.KeyCode);
        }
    }
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
Utilities.dll , 44544
BackdoorExample/BackdoorExample/BackdoorExample.csproj , 3950
BackdoorExample/BackdoorExample/Form1.cs , 2402
BackdoorExample/BackdoorExample/Form1.Designer.cs , 2430
BackdoorExample/BackdoorExample/Form1.resx , 5814
BackdoorExample/BackdoorExample/Program.cs , 507
BackdoorExample/BackdoorExample/Properties/AssemblyInfo.cs , 1442
BackdoorExample/BackdoorExample/Properties/Resources.Designer.cs , 2859
BackdoorExample/BackdoorExample/Properties/Resources.resx , 5612
BackdoorExample/BackdoorExample/Properties/Settings.Designer.cs , 1100
BackdoorExample/BackdoorExample/Properties/Settings.settings , 249
BackdoorExample/BackdoorExample/Utilities.dll , 44544
BackdoorExample/BackdoorExample.sln , 935
BackdoorExample/BackdoorExample.suo , 16384
没有账号? 忘记密码?

社交账号快速登录