用C语言编写简单病毒.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用C语言编写简单的病毒[转] 2007年08月28日 星期二 下午 03:39 [摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现. ???? [Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0. 一、什么是病毒??? ?? 恶意软件可能是第一个对我们产生影响的计算机安全问题.所以病毒在畔 踩 惺呛苤匾 ? ?? 我们要对付病毒,就要了解病毒. ?? 写一些病毒是一个很好的办法. ?? 如果要写一个病毒,先要知道它是什么.可以给病毒一个定义,这一定义是被广泛认可的。Frederic Cohen博士在《计算机病毒简短讲座》中提到的: “……一种能够通过修改自身来包括或释放自我拷贝而传染给其他程序的程序。“ ???? ???? 其实病毒和普通程序并无太大不同,而且通常比较简单,不像很多程序那样复杂。只不过病毒里面用到一些正常程序一般不会用到的技术。 ?? 要编制一个病毒,首先要知道病毒的运行机理。 ?? 不论是何种病毒,它一般在结构上分为三个功能模块:感染机制,触发机制和有效载荷。 ?? 在病毒结构中,首要的而且唯一必需的部分是感染机制。病毒首先必须是能够繁殖自身的代码,这是病毒之所以成为病毒的根本 原因。我们可以用一段类C伪码来表示这个过程。 InfectSection() ?? { ???? if (infectable_object_found ???? object_not_already_infect) ???????? infect_object; ???? } ???????? 病毒的第二个主要构成部分是有效载荷触发事件.一个病毒来到你的电脑后,不大可能立即发作,否则它不会被传播得很远.潜伏的敌人永远要比能见到的敌人危险得多.病毒一般是在找到一定数量的感染体,某一日期或时间,某一段文本后触发. 一个简单的触发机制可能是这样工作的: ???????? TriggerSection() ???????? { ?????????? if (date_is_Friday_13th_and_time_is_03:13:13) ???????????????????????????????????????? set_trigger_status_to_yes; ???????? } 有效载荷就是病毒用来骚扰你的电脑的方法,有触发机制的病毒一般也有有效载荷。它可以是任意的给你发一条一次性简单的愚弄信息,重新格式化你的磁盘,把它自己邮给你的E_mail通信者都可以成为有效的负荷。简单的有效负荷可以如下进行: ?????? Executesection() ?????? { ???????? if (trigger_statue_is_yes) ???????????? execute_payload;??????????????? ?????? } ?????? ???????? ???????? 二、 编制病毒的语言 ?? 最常见的编制病毒的语言有汇编语言、VB、C 语言等,我们可以来看一看一个有名的病毒论坛上认为学写病毒要掌握的基础: ?? 1).Win32编程,进程,线程,内存,等等。   2).32位汇编,以指令用法为主。386汇编就比较够用了。   3).PE格式,有精力还可以看一下其它可能被感染的文件的文件格式。   4).调试技术。VC,TD32,SoftIce,等等。 ?? 要掌握的东西确实很多,还多听都没听过,很吓人.但实际上,即使我们对计算机的原理和操作系统不很了解,而且不熟悉除C 以外的其他语言,只要我们对C的库函数有一定了解,就可以写一些类似病毒的东西. 三 用C编制病毒 ?? 以TurboC2.0为例.它的库函数可以实现很多功能. ?? 如以下两个函数: ?? 1).findfirst和findnext函数:在dir.h。findfirst用来找各种类型的文件,可以得到文件名文件长度,文件属性等,findnext和findfirst配合使用,用来找到下一个同类型的文件。 ?? 2).remove函数:在stdio.h.只要知道文件名,可以删除任意类型的文件. ?????????? 四 我写的C病毒??? ?????? 计算机病毒解密上有一句比较经典的话,或许把恶意软件造成的损害说成是心理上的损害 ?? 可能会更恰当一些.从这个意义上说,我的病毒是非常典型的病毒. ?????? 下面是我写的病毒. ?? 它主要由四个模块组成. ?? RubbishMaker()可用来在当前目录下

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档