二十年重回首——CIH病毒源码分析
CIH病毒源码分析
随着双十一的临近,我在考虑为自己的硬盘源码硬盘源码电脑添置一块NVME协议的固态硬盘。然而,苹果苹果我发现自己老款主板并不支持NVME协议。硬盘源码硬盘源码spring 事务 源码在探索解决方案时,苹果苹果我偶然回想起了CIH病毒,硬盘源码硬盘源码一款曾引起巨大破坏的苹果苹果古老病毒。出于好奇,硬盘源码硬盘源码我决定深入分析CIH源码,苹果苹果回顾那段历史,硬盘源码硬盘源码并分享分析过程与心得。苹果苹果
CIH源码在GitHub上能找到,硬盘源码硬盘源码版本1.4。苹果苹果源码的编写者习惯良好,代码中包含了功能更新的textspeech网页源码时间和具体细节。时间线如下:
1.0版于年4月日完成,基本功能实现,代码长度字节。
1.1版于5月日完成,增加了操作系统判断,若为WinNT则不执行病毒,长度字节。
1.2版于5月日,加入删除BIOS和破坏硬盘功能,长度字节。
1.3版于5月日,修复了感染WinZIP自解压文件的错误,长度字节。
1.4版于5月日,彻底修复错误,长度字节。鉴别溯源码
CIH病毒于年7月日在美国大面积传播,8月日全球蔓延,引发公众恐慌。最终,病毒作者陈盈豪公开道歉,提供了解毒程序和防毒软件,病毒逐渐被控制。
源码的第一部分是PE文件头,用于符合PE文件格式,确保Windows识别和执行。接下来,病毒开始运行,通过修改SEH(Structured Exception Handling)来识别操作系统类型。如果为WinNT或之后版本,病毒将自行产生异常并停止运行。
病毒通过修改中断描述符表,虚拟主题源码获得Ring0权限。然而,在WinNT操作系统中,这种方法已失效。因此,修改SEH的目的是判断当前操作系统,以避免在非Win9x系统上感染。
病毒在Win9x系统中,通过修改中断描述符表,将异常处理函数指向病毒自定义的MyExceptionHook。病毒利用此函数安装系统调用钩子,当执行文件操作时,会运行到病毒代码中。
病毒在MyExceptionHook中,通过dr0寄存器记录病毒安装状态,分配系统内存,爱心源码名字并将病毒代码复制到内存中。之后,病毒安装钩子,当有文件读写调用时,会执行病毒代码。
当系统调用参数为关闭文件时,病毒进行时间判断,直到每月日,统一开始破坏BIOS和硬盘。破坏BIOS的方法包括映射BIOS内容、设置BIOS可写性。硬盘破坏则通过VXD驱动调用命令。
综上所述,CIH病毒利用了Win9x系统的漏洞,通过修改SEH和中断描述符表进入内核,安装系统调用钩子,感染文件并在特定时间执行破坏操作。然而,其在WinNT及后续系统上的感染能力已失效。尽管如此,CIH病毒的源码和分析过程对了解历史和安全漏洞仍具有重要价值。
手把手,嘴对嘴,讲解硬盘SMART信息
SMART信息概览,是评估硬盘健康状态的关键。通常,查看硬盘SMART信息是最直接的方法。这些信息包含了硬盘运行时的关键数据,如工作时间、通电次数、盘片温度、坏块数、寿命余量、PE数、链路错误次数、写入量、读出量等。
除了上述信息,SMART信息还能提供其他数据,例如主机写入数据量(项)、磁盘写入NAND数据量(项),通过这些数据可计算出写放大系数。同时,连续增加的错误计数(项)提示可能存在硬件问题,如金手指脏污或SATA线故障。
要正确解读SMART信息,有两个前提条件:一是理解每项属性的准确含义,二是确保信息未被篡改。每块硬盘的SMART定义并非标准化,因此解析工具与硬盘之间的匹配至关重要。大型制造商(如三星、Inter、金士顿)的SMART信息与解析工具之间的匹配度较高。SMARTCTL工具的源代码提供了对各种硬盘解析表头的记录,帮助正确解读SMART信息。如Apple硬盘有专用解析表,而未知硬盘则使用默认表。
通过产品手册,可以获取特定品牌硬盘的SMART信息详细解释,如Inter硬盘产品手册中明确记录了每项属性的编号、含义及计算方法。
SMART信息通过ATA命令获取,SMARTCTL工具通过下发命令(如smartctl -A /dev/sg1)获取硬盘SMART信息。工具解析硬盘上传的数据,呈现给用户SMART信息。然而,厂商的非标准化处理可能影响用户感知。在假设信息准确的情况下,SMART信息的解析包括ID、属性名称、标志、值、最差值、阈值、类型、更新状态、原始值等字段。
SMARTCTL工具能够提供全面的SMART信息解读,包括属性名称的工具解析、标志含义、值表示的当前状态、最差状态、阈值、类型、更新状态及原始值的解析。由于这些信息由硬盘提供,工具仅作为显示平台,故无法防范厂商篡改数据。在理解SMART信息时,需参考产品手册以确保正确解释。
2024-11-30 11:29
2024-11-30 11:18
2024-11-30 10:59
2024-11-30 10:37
2024-11-30 09:12