EXE può sempre essere sostituito con COM?


53

Anteprima

Il nostro software antivirus non mi ha permesso di copiare un file EXE nella mia cartella di avvio di Windows 7 (ad esempio calc.exe) poiché si tratta di un file EXE

Quindi l'ho rinominato in un file COM e poi l'ho copiato e lo ha permesso (molto professionale).

E ovviamente - calc.comfunziona.

Il che mi ha portato a chiedere (solo per curiosità):

Domanda

Quando non verrà eseguito un programma EXE se rinominato in COM? Quasi tutti i file exe che ho controllato hanno funzionato.

Mi piacerebbe conoscere gli interni per perché e perché no.


42
Non copiare i file nella cartella Avvio: crea invece collegamenti.
gronostaj,

4
Sì, questo è possibile, ma come ho detto, gli interni interessati, io. Non lo stupido AV. :-)
Royi Namir l'

11
Puoi anche rinominarlo in .scr (screensaver) e funzionerà.
pjc50,

2
Non è uno stupido AV (oltre a non sottolineare che un file con estensione com può ancora essere interpretato come un file PE). Non dovresti mettere i file eseguibili in posizioni facilmente scrivibili - idealmente, vuoi che l'amministratore (con un token amministratore) sia autorizzato a scrivere nella stessa directory in cui hai i file eseguibili. Usa le scorciatoie :)
Luaan,

1
@Luaan Non vedo come escludere EXE e consentire le scorciatoie in Startup sia in qualche modo più sicuro che consentire sia EXE che scorciatoie. Sembra paragonabile a me.
jrw32982 supporta Monica il

Risposte:


10

Ha a che fare con il formato interno del file. Inizialmente i file .com erano semplici immagini di memoria e i file .exe avevano molte intestazioni associate. Di conseguenza non è stato possibile rinominarli. Col passare del tempo e hanno dovuto rendere le cose compatibili con le versioni precedenti, Microsoft le ha cambiate in modo che il sistema operativo guardasse il file stesso per determinare quale tipo di file è invece dell'estensione. Di conseguenza, quando si esegue il file rinominato, Windows ignora completamente l'estensione. Vedi i link sotto per una spiegazione più ampia.

Domanda simile

Spiegazione del blog Microsoft


1
Gee. Chi altri ci ha pensato? ... UNIX / Linux.
Joe,

1
@Joe Qualsiasi sistema cresciuto organicamente, sì. I file COM esistevano molto prima degli eseguibili portatili e andavano benissimo per un bel po 'di tempo.
Luaan,

@Luaan Certo che hai ragione. Stavo creando / usando file com su CP / M (dove 64k di ram non sono mai stato un problema per me). È interessante solo quando un sistema operativo copia qualcosa da un altro che ha fatto bene a cominciare, specialmente quando lo hanno denigrato così a lungo per così tanto tempo.
Joe,

@Joe Essendo un fan di Linux, mi piace il modo in cui utilizza le proprietà anziché le estensioni.
Math Man

I file factoid casuali, ma reali .COM (MS-DOS e CP / M originale) erano limitati a una dimensione di file di un segmento (64kb) poiché l'immagine veniva copiata direttamente in un segmento ed eseguita. Più sai, ecc ...
0x90h,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.