系列:COM——基础的执⾏格式
0x00前⾔
这个⽂件格式基本上已经见不到了,但是有些病毒和恶意软件还会使⽤这种⽂件格式模仿⽹页让⼈下载。防不胜防,所以这⾥笔者简单的讲述⼀些说明。
阅读本⽂,您可能需要掌握的知识:
技能熟练度
数据结构了解
0x10 格式
就像上⽂讲述的TEXT⽂件⼀样,COM⽂件因为其历史过于久远,完全没有任何的格式所⾔,⼏乎就是完全的汇编语⾔的映射,某种程度下和obj⽂件差不多的。
⾸先需要确认的是,在当年那个时代下,⽂件系统内存极⼩,且导致当前的COM⽂件不会有很⼤,⼀般不会超过64KB(16位机器)。汇编语言要什么基础
也就是说,这个⽂件格式就是完全的汇编语⾔的执⾏包。不存在任何已知的⽂件格式定义。与TEXT其实是⼀致的。只不过⼀个存储的是对⼈类友好的字符,⼀个是存储机器相关的汇编语⾔。
这就是⼀个标准的可执⾏⽂件了。
0x20 需要⼩⼼的部分
其实COM与TEXT都是差不多的,但是唯⼀的区别在于COM是可以运⾏的。所以就给不法分⼦以可乘之机。⽽且因为万维⽹的特殊性,使得很多的com⽂件被伪装为⽹页的形式被⼈下载。
其实按道理来说就算是⽹页下载了的可执⾏⽂件,也还是没办法有很⼤的危害。但是需要注意的是,EXE可以被隐藏成COM⽂件,这样的情况下就很危险了,因为可能被执⾏在任何位置,也就可能造成不可弥补的危害。
当然这个也很简单就可以识别。⼀个EXE⽂件是⼀个典型的PE的⽂件格式的可执⾏⽂件,所以和COM⽂件最⼤的不同在于,COM⽂件不具备任何的可执⾏的格式。但是EXE有规定的执⾏格式:
可以看到EXE⽂件在开始时写⼊了MZ的ASCII代码。这个代码在32位PC平台下的执⾏汇编为:
0100 4D DEC BP
0101 5A POP DX
可以看到,这两⾏代码不可能在程序的刚开始,也就可以区别出来伪装的EXE⽂件。⾄于伪装的⽂件⼤概率也不是什么好的⽤途。0x30 更多
本⽂⾸发⾃ ,更多⽂章可进⼊我的博客详查。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论