O EXE pode sempre ser substituído pelo COM?


53

Pré-visualização

Nosso software antivírus não me permitiu copiar um arquivo EXE na minha pasta de inicialização do Windows 7 (calc.exe por exemplo), pois é um arquivo EXE

Então, eu o renomeei para um arquivo COM, copiei e permiti (muito profissional).

E é claro - calc.comfunciona.

O que me levou a perguntar (apenas por curiosidade):

Pergunta, questão

Quando um programa EXE não será executado quando renomeado para COM? Quase todos os arquivos exe que verifiquei funcionaram.

Eu adoraria conhecer os internos por que e por que não.


42
Não copie arquivos para a pasta Inicialização - crie atalhos.
precisa saber é o seguinte

4
Sim, isso é possível, mas como eu disse, os internos me interessaram. Não é o AV estúpido. :-)
Royi Namir 11/08/16

11
Você também pode renomeá-lo para .scr (protetor de tela) e ele funcionará.
Pjc50 11/08/16

2
Não é um AV estúpido (além de não entender que um arquivo com extensão com ainda pode ser interpretado como um arquivo PE). Você não deve colocar executáveis ​​em locais facilmente graváveis ​​- idealmente, você deseja apenas que o administrador (com um token de administrador) tenha permissão para gravar no mesmo diretório em que possui executáveis. Use atalhos :)
Luaan

11
@Luaan Não vejo como excluir EXEs e permitir atalhos na Inicialização é de alguma forma mais seguro do que permitir EXEs e atalhos. Parece comparável a mim.
Jrw32982 suporta Monica

Respostas:


10

Tem a ver com o formato interno do arquivo. Originalmente, os arquivos .com eram simples imagens de memória e os arquivos .exe tinham muitos cabeçalhos associados a eles. Como resultado, você não pode renomeá-los. Com o passar do tempo e eles tiveram que tornar as coisas compatíveis com versões anteriores, a Microsoft mudou para que o sistema operacional analisasse o próprio arquivo para determinar que tipo de arquivo ele é, em vez da extensão. Como resultado, quando você executa o arquivo renomeado, o Windows ignora completamente a extensão. Veja os links abaixo para uma explicação mais extensa.

Pergunta semelhante

Explicação do blog da Microsoft


11
Gee. Quem mais pensou nisso? ... UNIX / Linux.
Joe

11
@ Joe Qualquer sistema que tenha crescido organicamente, sim. Os arquivos COM existiam muito antes dos executáveis ​​portáteis e permaneciam perfeitamente bem por um longo tempo.
Luaan 17/08/16

@Lanan Claro que você está certo. Eu estava criando / usando arquivos com no CP / M (onde 64k de RAM nunca foi um problema para mim). É interessante quando um SO copia algo de outro que acertou no começo - especialmente quando o depreciam por tanto tempo.
Joe

@ Joe Sendo eu um fã do Linux, gosto da maneira como ele usa propriedades em vez de extensões.
Math Man

Arquivos .COM de fato aleatórios, mas reais (MS-DOS e CP / M original) foram limitados ao tamanho de um segmento (64kb), pois a imagem foi copiada diretamente em um segmento e executada. Quanto mais você sabe, etc ...
0x90h 26/10/16
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.