Não é possível criar atalhos para arquivos .com

3

Eu queria criar um atalho para o arquivo c:\windows\system32\more.com no Desktop usando ctrl + shift e arrastar e soltar, e silenciosamente ignorado por não criar nada, então eu decidi arrastar e soltar em uma pasta na minha área de trabalho e recebi este alerta:

Windows could not create the shortcut. check to see if the disk is full.

Tenho 157 GB de espaço livre em disco e testei em outros arquivos .com ( format.com , tree.com etc) também, e o resultado foi o mesmo. Então usei mklink para criar um link simbólico, e funcionou, então estou me perguntando por que é impossível criar atalhos para .com no Windows?

PS:

Estou usando o sistema operacional Windows 8.1 de 64 bits.

    
por w17t 07.10.2014 / 08:49

2 respostas

3

Eu acho que você provocou uma falha, talvez. Como a extensão * .COM é do MS-DOS e apenas para binários de 16 bits, o Windows de 32 bits criou um atalho PIF para esses arquivos, o que acionaria a camada de compatibilidade para configurar o ambiente relacionado ao 16bit. No entanto, essa parte não existe no Windows de 64 bits, pois os executáveis de 16 bits têm idade suficiente e existem muitas alternativas para executá-los; DOSBOX por exemplo.

No entanto, parece que a rotina para detectar esta situação ainda existe no x64 Windows e é acionada por segmentação de um arquivo * .COM, enquanto todas as camadas de compatibilidade desapareceram!

Você pode verificar por si mesmo que a tentativa de criar um atalho para um arquivo COM ainda produz um arquivo PIF:

  1. Crie uma nova pasta vazia.
  2. Copie qualquer arquivo COM que você queira testar. Mesmo você pode renomear qualquer arquivo para * .COM.
  3. Na pasta, clique com o botão direito e selecione novo atalho.
  4. Insira o caminho completo do seu arquivo COM de teste e clique em "terminar"
  5. Ele dirá que "não é possível criar um atalho", mas o atalho é realmente criado.
  6. Veja as propriedades do novo atalho - é PIF.

No entanto, como o x64 Windows não tem camada de compatibilidade de 16 bits, esse PIF não pode ser executado e não pode ser configurado corretamente. Acredita-se, naturalmente, que a lógica para produzir arquivos PIF para COM também deve ser removida, mas, por algum motivo, isso ainda não é feito. O que eu posso imaginar sobre o motivo é .. uma vez que é muito raro usar o arquivo COM no Windows x64, ele teve prioridade muito baixa para corrigir.

Então, quais são esses arquivos * .COM na pasta do Windows? Eles são realmente executáveis de formato de arquivo "EXE" de 64 bits, mas renomeados como * .COM para scripts de lote antigos.

Também é verdade que o atalho para um arquivo COM pode enganar os usuários para executar um malware para que o MS intencionalmente bloqueie isso, mas ainda é possível anexar um arquivo COM renomeado (que é originalmente um arquivo EXE) diretamente em um email ou algo assim, e ainda é possível criar um atalho para um arquivo EXE regular e depois renomeá-lo para * .COM. Então eu não acho que o problema de segurança foi o principal motivo para fazer o Windows fazer esse comportamento estranho. Se fosse para o problema de segurança e intencional, ele exibiria uma mensagem de erro / aviso adequada.

    
por 16.06.2015 / 06:27
0

Eu acho que isso é uma medida de segurança, pois disfarçar os arquivos .com é uma tática geral dos criadores de malware. Um atalho pode ser disfarçado para se parecer com um documento do word, a fim de incitar o usuário a clicar nele e executar código malicioso.

    
por 16.06.2015 / 05:53