EXE总是可以用COM替换吗?


53

预习

我们的防病毒软件不允许我将EXE文件复制到Windows 7启动文件夹(例如calc.exe)中,因为它是EXE文件

因此,我将其重命名为COM文件,然后将其复制并允许它(非常专业)。

当然- calc.com确实有效。

导致我问(仅出于好奇):

重命名为COM的EXE程序什么时候不运行?我检查过的几乎所有exe文件都可以正常工作。

我很想知道内部原因和原因。


42
不要将文件复制到Startup文件夹-而是创建快捷方式。
gronostaj '16

4
是的,这是可能的,但是正如我所说,内部人员对此很感兴趣。不是愚蠢的AV。:-)
罗伊·纳米尔

11
您也可以将其重命名为.scr(屏幕保护程序),它将起作用。
pjc50

2
它不是一个愚蠢的AV(除了可以毫不怀疑带有com扩展名的文件仍可以解释为PE文件)。您不应将可执行文件放在容易写入的位置-理想情况下,您只希望允许管理员(带有管理员令牌)在您具有可执行文件的目录中进行写入。使用捷径:)
六安

1
@Luaan我不知道在启动中排除EXE并允许快捷方式比在允许EXE和快捷方式方面更安全。似乎可与我媲美。
jrw32982 '16

Answers:


10

它与文件的内部格式有关。最初.com文件是简单的内存映像,.exe文件具有许多与之关联的标头。结果,您无法重命名它们。随着时间的流逝,他们不得不使它们向后兼容,Microsoft对其进行了更改,以便操作系统查看文件本身以确定文件的类型,而不是扩展名。因此,当您运行重命名的文件时,Windows将完全忽略扩展名。有关更多详细说明,请参见下面的链接。

类似问题

Microsoft博客说明


1
啧啧。还有谁想到的?... UNIX / Linux。

1
@Joe任何有机增长的系统,是的。COM文件比可移植的可执行文件早存在,并且在相当长的一段时间内都很好。
a安

@卢安当然是正确的。我在CP / M上创建/使用com文件(其中64k的ram从来都不是我的问题)。当一个操作系统从另一个操作系统复制某些东西以使其正确开始时,这尤其有趣,尤其是当他们如此长时间地彻底贬低它时。

@Joe我自己是Linux的粉丝,我喜欢它使用属性而不是扩展的方式。
Math Man

随机的事实文件,但实际的.COM文件(MS-DOS和原始CP / M)被限制为一个段(64kb)文件大小,因为该图像只是直接复制到一个段中并执行。您知道的更多,等等...
0x90h
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.