系列:COM——基础的执行格式

本文介绍了COM文件格式的历史背景,强调其在早期计算机中的简单性及现今与病毒、恶意软件的关联。COM文件本质上是汇编语言的直接映射,通常不超过64KB。由于其可执行特性,不法分子可能利用它伪装成网页诱使用户下载。识别伪装的EXE文件可通过检查文件头的MZ标志。了解这些知识有助于提高系统安全。
摘要由CSDN通过智能技术生成

0x00前言

这个文件格式基本上已经见不到了,但是有些病毒和恶意软件还会使用这种文件格式模仿网页让人下载。防不胜防,所以这里笔者简单的讲述一些说明。

阅读本文,您可能需要掌握的知识:

技能熟练度
数据结构了解

0x10 格式

就像上文讲述的TEXT文件一样,COM文件因为其历史过于久远,完全没有任何的格式所言,几乎就是完全的汇编语言的映射,某种程度下和obj文件差不多的。

首先需要确认的是,在当年那个时代下,文件系统内存极小,且导致当前的COM文件不会有很大,一般不会超过64KB(16位机器)。

也就是说,这个文件格式就是完全的汇编语言的执行包。不存在任何已知的文件格式定义。与TEXT其实是一致的。只不过一个存储的是对人类友好的字符,一个是存储机器相关的汇编语言。

这就是一个标准的可执行文件了。

0x20 需要小心的部分

其实COM与TEXT都是差不多的,但是唯一的区别在于COM是可以运行的。所以就给不法分子以可乘之机。而且因为万维网的特殊性,使得很多的com文件被伪装为网页的形式被人下载。

其实按道理来说就算是网页下载了的可执行文件,也还是没办法有很大的危害。但是需要注意的是,EXE可以被隐藏成COM文件,这样的情况下就很危险了,因为可能被执行在任何位置,也就可能造成不可弥补的危害。

当然这个也很简单就可以识别。一个EXE文件是一个典型的PE的文件格式的可执行文件,所以和COM文件最大的不同在于,COM文件不具备任何的可执行的格式。但是EXE有规定的执行格式:

image-2021010002212546706

可以看到EXE文件在开始时写入了MZ的ASCII代码。这个代码在32位PC平台下的执行汇编为:

0100 4D            DEC     BP
0101 5A            POP     DX

可以看到,这两行代码不可能在程序的刚开始,也就可以区别出来伪装的EXE文件。至于伪装的文件大概率也不是什么好的用途。

0x30 更多

本文首发自 系列:COM——基础的执行格式,更多文章可进入我的博客详查。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreenDreamer

如果帮到了你,还望请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值