web-dev-qa-db-fra.com

Est-ce que EXE peut toujours être remplacé par COM?

Aperçu

Notre logiciel antivirus ne m'a pas autorisé à copier un fichier EXE dans mon dossier de démarrage Windows 7 (calc.exe par exemple), car il s'agit d'un fichier EXE.

Je l'ai donc renommé en fichier COM, puis copié et autorisé (très professionnel).

Et bien sûr - calc.com fonctionne.

Ce qui m'a amené à demander (uniquement par curiosité):

Question

Quand un programme EXE ne s'exécutera-t-il pas lorsqu'il sera renommé COM? Presque chaque fichier exe que j'ai vérifié a fonctionné.

J'aimerais connaître les internes pour pourquoi et pourquoi pas.

53
Royi Namir

Cela concerne le format interne du fichier. À l'origine, les fichiers .com étaient de simples images de mémoire et les fichiers .exe étaient associés à de nombreux en-têtes. En conséquence, vous ne pouvez pas les renommer. À mesure que le temps passait et qu'ils devaient rendre les choses compatibles en amont, Microsoft l'a modifiée pour que le système d'exploitation examine le fichier lui-même afin de déterminer le type de fichier à la place de l'extension. Par conséquent, lorsque vous exécutez le fichier renommé, Windows ignore entièrement l'extension. Voir les liens ci-dessous pour une explication plus détaillée.

Question similaire

Explication du blog Microsoft

10
Math Man