• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

病毒及流氓软件自我复制的简单实现(C#)_C#

c# 搞代码 3年前 (2018-08-10) 248次浏览 已收录 0个评论

  最近朋友的电脑中了病毒,让我跑了三次,费了九牛二虎之力,几种杀毒软件还是没有能把病毒全清除掉,最后没有办法,只能把资料复制出来,把硬盘重新分区了再装系统,装上了可以免费使用的AntiVir,于是乎世界终于清静。 
  不仅因为Windows系统的脆弱,而且因为病毒无休止的自我复制和满硬盘的藏匿,使得我们脆弱的神经不堪重负,面对千疮百孔,有着莫名其妙而又千奇百怪的名字文件夹和文件的系统,相信大多数人都会选择重装系统。病毒和流氓软件总是让人气愤!那么,计算机程序怎么实现自我复制呢?其实这非常的简单。下面我将用c#简单的实现一个能够自我复制的小小的恶意程序。 

  程序要实现下面几个功能。

  第一,运行时不出现运行界面,当然,在任务管理器里,还是可以看到进程的,道行再深的病毒也不可能无迹可寻。

  第二,程序在运行目录下自我复制n份。

  第三,采用递归复制的方法,即第一个程序生成第二个程序,第二个程序生成第三个程序,以此类推。

http://www.gaodaima.com/?p=66429病毒及流氓软件自我复制的简单实现(c#)_C#

  源代码很简单,下面来分析一下:

以下是引用片段:
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")); 

欢迎大家阅读《病毒及流氓软件自我复制的简单实现(C#)_C#》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址