病毒程序源码实例剖析-CIH病毒[1]
CIH病毒主要感染Windows 95/98/Me的可执行程序,发作时破坏计算机Flash BIOS芯片中的系统程序,导致主板损坏,同时破坏硬盘中的数据。病毒发作时,硬盘驱动器不停地旋转,病毒程序以2048个扇区为单位,从硬盘主引导区开始依次往硬盘中写入垃圾数据,直到硬盘数据被全部破坏为止。硬盘上所有数据(包括分区表)被破坏,必须重新分区才能有可能挽救硬盘。同时,对于部分厂牌的主板,如技嘉和微星等,会将Flash BIOS 中的系统程序破坏,造成开机后系统无反应。
CIH病毒是1998年8月从台湾传入国内的,共有五个版本,各种不同版本随时间而发展,不断完善,其发展历程如下:
(1)CIH病毒1.0版
最初的1.0版只有 656个字节,雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的特点是可感染Microsoft Windows PE类可执行文件,被其感染的程序文件长度增加,1.0版的CIH病毒还不具有破坏性。
(2)CIH病毒1.1版
当CIH病毒发展到1.1版本时,病毒长度为796个字节,该版本的CIH病毒具有判断Windows NT软件的功能,一旦判断用户运行的是Windows NT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。
1.1版CIH病毒的另外一个改进点在于其可以利用Windows PE类可执行文件中的“空隙”, 将自身根据需要分裂成几个部分后,分别插入到PE类可执行文件中,这样做的优点是在感染大部分Windows PE类文件时,不会导致文件长度增加。
(3)CIH病毒1.2版
当CIH病毒发展到1.2版时,除改正了一些1.1版的缺陷之外,同时增加了破坏用户硬盘以及用户机器BIOS程序的代码,这一改进,使其步入恶性病毒的行列,1.2版的CIH病毒体长度为1003个字节。
(4)CIH病毒1.3版
1.2版CIH病毒最大的缺陷在于当其感染ZIP自解压包文件时,将导致此ZIP压缩包在自解压时出现下列错误警告信息:
WinZip Self-Extractor header corrupt. Possible cause: disk or file transfer error.
1.3版CIH病毒显得比较仓促,其改进点便是针对以上缺陷的,它的改进方法是: 一旦判断开启的文件是WinZip类的自解压程序,则不进行感染。同时,此版本的CIH病毒修改了病毒发作时间,由原来的4月26日改为6月26日。1.3版CIH病毒长度为1010个字节。
(4)CIH病毒1.4版
1.4版CIH病毒改进了以前几个版本中的缺陷,不感染ZIP自解压包文件,同时也修改了发作日期,由6月26日改为每月的26日,增加了病毒发作的频率。还修改了病毒中的版权信息(版权信息被更改为:“CIH v1.4 TATUNG”,在以前版本中的相关信息为“CIH v1.x TTIT”),1.4版CIH病毒长度为1019字节。
如前所述,CIH病毒创造了病毒历史上的几个第一,具有十分强大的破坏力,该病毒的发作给全世界造成了不可估量的损失。那么,具有如此之大“杀伤”力的代码是如何编写出来的呢?下面,我们以CIH病毒的1.4版为实例,分析其部分核心代码。
以上就是病毒程序源码实例剖析-CIH病毒[1]的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

会话劫持可以通过以下步骤实现:1.获取会话ID,2.使用会话ID,3.保持会话活跃。在PHP中防范会话劫持的方法包括:1.使用session_regenerate_id()函数重新生成会话ID,2.通过数据库存储会话数据,3.确保所有会话数据通过HTTPS传输。

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...
