音响起,脑海中源源不断被塞入了大量的汇编语言知识,有IBM—PC汇编,也有AT&T汇编,这个收获让张毅惊喜不已。
汇编语言以晦涩难懂著称,各种专有的寄存器,以及寄存器之间使用的八进制,或者十六进制的计算方式。
当然,最让人头疼的还是直接操作内存地址的方式,简单粗暴,这也是最折磨人的。
汇编语言是除机器语言外,最接近底层硬件的语言,语法简洁,功能强大。C语言和C++还有很多其它的高级语言,就是编译成汇编语言后才在计算机内运行的。其直接操作内存的强大功能,也最让人迷醉。
想想一年后,也就是1998年的6月份,原宝岛技嘉子公司旗下的员工陈盈豪,将会制做出世界上影响最大的,造成最大损失的CIH病毒。
这个病毒就是用汇编语言制做出来的,其最早的病毒版本才900多字节,但却会破坏电脑主板的BIOS系统,让基本输入输出系统彻底瘫痪。
最让人郁闷的是,这个病毒会破坏电脑的硬盘,不断的给用户电脑的硬盘引导扇区,写入垃圾信息,导致全球上百万台电脑,在4月26号这一天,主板损坏,硬盘数据丢失。
其最后一个版本V1.4,会在每月的26号发作。
从最早版本的CIH V1.0,900多字节,到最终版本的v1.4,才1200多字节,可见汇编语言直接操作内存和中断的能力有多强了。
除了众多的汇编语言的知识外,张毅的脑海中也闪现出了CIH病毒的源代码,代码简洁得美丽至极,他怀着崇敬的心情研究了很久。
代码其中一段如下:
push esi
mov esi, eax ;esi指向病毒开始处
LoopOfMergeAllVirusCodeSection:
mov ecx, [eax-04h]
rep mov s b ;拷贝病毒代码到分配好的系统内存首址
sub eax, 08h
mov esi, [eax]
or esi, esi
jz QuitLoopOfMergeAllVirusCodeSection ; ZF = 1 ;拷贝结束
jmp LoopOfMergeAllVirusCodeSection ;拷贝下一段
本章未完,请点击下一页继续阅读!