Abrindo atalhos
Para editar um atalho, você obviamente precisa abri-lo primeiro, e isso é complicado. Em alguns casos, você pode forçar programas a carregar arquivos de atalho usando um argumento de linha de comando:
"X:\Path\to\program.exe" "X:\my shortcut.lnk"
Se o destino do link ou o arquivo de atalho real é carregado depende do programa, no entanto. Aqui está uma lista (em nenhuma ordem particular) de alguns editores hexadecimais gratuitos que os suporta fora da caixa:
-
Abrir diálogo Sim
Arrastar e soltar Não -
XVI32 , Livre Hex Editor Neo , Hexer Tiny , wxHexEditor , Editor Hex MX , Frhed
Abrir diálogo No
Arrastar e soltar Sim
Solução alternativa
Caso não seja possível carregar o conteúdo de um arquivo de atalho, você poderá abrir um prompt de comando e renomeie o arquivo .lnk
para uma extensão diferente e inexistente como .lne
:
cd /d "X:\Folder\containing\shortcuts"
ren "my shortcut.lnk" "my shortcut.lne"
Se você tiver vários arquivos, também poderá renomear todos eles de uma só vez:
ren *.lnk *.lne
Você então poderá tratar esses atalhos como arquivos comuns. Quando terminar, certifique-se de renomeá-los para restaurar sua funcionalidade habitual.
Informações adicionais
Um atalho, ou link da shell , contém metadados informações usadas para acessar uma meta de link específica. É analisado e interpretado pelo shell do Windows. Da documentação oficial:
The shell link structure stores various information that is useful to end users, including:
A keyboard shortcut that can be used to launch an application.
A descriptive comment.
Settings that control application behavior.
Optional data stored in extra data sections.
Source: [MS-SHLLINK]: Shell Link (.LNK) Binary File Format - Overview
Os atalhos são armazenados como arquivos binários e não podem ser editados usando um editor de texto padrão. Um típico arquivo .lnk
é parecido com isso internamente:
00000000 4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00 L...........À...
00000010 00 00 00 46 DC 03 00 02 20 00 00 00 C6 EF 52 BE ...FÜ... ...ÆïR¾
00000020 10 04 CA 01 C6 EF 52 BE 10 04 CA 01 60 45 8A 67 ..Ê.ÆïR¾..Ê.'EŠg
00000030 20 04 CA 01 00 9A 04 00 00 00 00 00 01 00 00 00 .Ê..š..........
Os primeiros vinte bytes são sempre os seguintes:
4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 00 46