O que essas cadeias criptográficas realmente significam nas associações de registro?

9

Olhando para o meu valor HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ command (associação de shell 'Open' do Word 2010), vejo esse tipo de absurdo:

xb'BV5 !!!!!!!!! MKKSkWORDFiles> bi $ T! V! 0Z = {Pk0vm ~ AZu / n "% 1"

onde está tudo claro sobre as últimas / n "% 1" partes, mas a primeira enigmática aparentemente denota algumas instruções mágicas sobre a execução do MS Word. O mesmo vodu que eu tenho para o Excel e outras associações do Office.

Minhas inúmeras tentativas de me educar via Internet sobre o que está acontecendo lá não trouxeram nenhum resultado. Muitas pessoas discutem os "encantamentos certos" para estabelecer associações de Word / Excel funcionando corretamente, no entanto, eu nunca vi nenhuma delas (como eu também) entender o que estão fazendo e por que realmente pensavam que essa magia negra funcionaria para outras pessoas - apenas porque de alguma forma conseguiu trabalhar em suas máquinas.

No entanto, o que eu realmente não entendi é o fato de que ninguém (a quem eu encontro na internet, é claro) jamais perguntou algo como "como funciona a Terra?" ou "o que isso realmente significa?" ou pelo menos não a última, "você acha que tenho um vírus desagradável ?!". Ok, então eu vou ser o primeiro, eu acho.

Minha pergunta aqui não é por que as pessoas são tão indiferentes. Minha pergunta é como essas seqüências realmente funcionam em associações de registro? Isso deve ser um recurso não documentado (ou documentado?) Do Windows (presumivelmente, Windows Shell) que transforma essas strings em algo digerível por humanos.

Van Jone
fonte

Respostas:

6

Você está lidando com o problema " API não documentada ".

Essa sequência é uma sequência secreta, específica da implementação, que a Microsoft não deseja como conhecimento público. Se o formato da string fosse público e a Microsoft quisesse alterar a forma como carregava os arquivos, eles ainda precisariam dar suporte à string antiga para compatibilidade com versões anteriores, se for uma API não documentada, eles poderão alterá-la sem passar pelo problema de verificar se coisas de terceiros quebrarem.

A Microsoft é realmente uma das melhores empresas por aí, no que se refere ao cuidado de não quebrar software de terceiros, o lançamento do comando word run é apenas um dos lugares em que eles não querem enfrentar o problema.

Scott Chamberlain
fonte
11
Infelizmente, esta resposta é sobre perguntas totalmente diferentes: a) O que significa "API não documentada"? b) Por que existem APIs não documentadas? c) Qual empresa protege melhor nossas vidas, para que nós, usuários estúpidos, não atiremos na própria perna? :-) Ainda é muito longe para responder " como essas strings realmente funcionam em associações de registro?" Se eu estava pronto para aceitar "Eu só não estou suposto saber" linha, eu não iria pedir-lo aqui em SuperUser ...
Van Jone
11
@VanJone O problema é que ninguém sabe, ninguém gastou tempo para fazer a engenharia reversa do programa e descobrir isso, especialmente quando a próxima atualização do Windows poderia fazer com que o que eles não funcionassem mais.
Scott Chamberlain
11
As pessoas invertem o Windows com bastante frequência e muitas podem possuir esse conhecimento como efeito colateral de ganhar seu salário. É apenas uma questão de sorte quanto tempo esperar alguém com o conhecimento certo aparecer aqui.
Van Jone
Notação PS '@' não funcionou para mim por alguma razão: SU apenas removido-lo do meu comentário
Van Jone
@VanJone Você não precisa usar @ quando estiver respondendo ao autor de uma postagem, eles serão notificados automaticamente, @ é para alterar a notificação do autor da postagem para alguém que postou pelo menos uma vez nos comentários.
Scott Chamberlain