病毒及流氓软件自我复制的简单实现(c#)_c#应用
2008-02-23 05:42:34来源:互联网 阅读 ()
最近朋友的电脑中了病毒,让我跑了三次,费了九牛二虎之力,几种杀毒软件还是没有能把病毒全清除掉,最后没有办法,只能把资料复制出来,把硬盘重新分区了再装系统,装上了能够免费使用的AntiVir,于是乎世界终于清静。
不但因为Windows系统的脆弱,而且因为病毒无休止的自我复制和满硬盘的藏匿,使得我们脆弱的神经不堪重负,面对千疮百孔,有着莫名其妙而又千奇百怪的名字文档夹和文档的系统,相信大多数人都会选择重装系统。病毒和流氓软件总是让人气愤!那么,电脑程式怎么实现自我复制呢?其实这很的简单。下面我将用C#简单的实现一个能够自我复制的小小的恶意程式。
程式要实现下面几个功能。
第一,运行时不出现运行界面,当然,在任务管理器里,还是能够看到进程的,道行再深的病毒也不可能无迹可寻。
第二,程式在运行目录下自我复制n份。
第三,采用递归复制的方法,即第一个程式生成第二个程式,第二个程式生成第三个程式,以此类推。
源代码很简单,下面来分析一下:
以下是引用片段:
35 // 不在任务栏显示
36 this.ShowInTaskbar = false;
37 // 窗体透明
38 this.Opacity = 0;
System.Windows.Forms.Form类封装了一般的Windows窗口程式大部分特性,极大的简化窗口界面的设计过程,上面这两个属性用于隐藏我们的程式的运行状态,第一个ShowInTaskbar属性,配置为否时,程式就不会在状态栏上面显示。第二个Opacity属性,表示窗口的不透明度,取值在0到100之间。0%的不透明度也就是100%透明了。这样,在程式运行时,您就看不见窗体了。
以下是引用片段:
44 // 默认复制次数
45 const int TOTAL = 100;
46 int _count = TOTAL;
47 // 正在运行的程式路径和文档名
48 string _file = Application.ExecutablePath;
49 // 正在运行的程式路径
50 string _path = Application.StartupPath;
51 // 正在运行的程式文档名
52 string _name = _file.Replace(string.Format("{0}\\", _path), string.Empty).ToLower();
53 try
54 {
55 _count = int.Parse(_name.Replace(".exe", string.Empty));
56 _count--;
57 }
58 catch
59 {
60 }
61 finally
62 {
63 }
64 // 目标文档
65 string _target = string.Format("{0}\\{1}.exe", _path, _count.ToString("000"));
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash