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.