Como alterar a identidade do Assembly de um executável?
-
26-09-2019 - |
Pergunta
Quero ocultar a ferramenta que usei para criar um arquivo .exe. Não estou fazendo nada ilegal, só quero proteger minha propriedade intelectual de ser copiada. Se eu abrir o arquivo EXE em um editor de texto, vejo a seção a seguir.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="XXX.XX"
processorArchitecture="X86"
name="Microsoft.Windows.NameOfTheTool"
type="win32"
/>
</assembly>
Eu tentei mudar o nome para:
name="Microsoft.Windows.SomeOtherName"
Isso resultou na mensagem a seguir quando tentei executar o arquivo. "Este aplicativo não conseguiu iniciar porque sua configuração lado a lado está incorreta".
Como posso resolver isso?
Solução
Nunca mudei os dados do manifesto, mas pode ser possível. Você deve verificar as opções do vinculador.
Independentemente, um empacotador exe como .Netz pode ofuscar as coisas suficientemente.
Agora que olho de novo: o name
atributo deve ser o nome da sua montagem, não o programa (como o VisualStudio) usado para criá -lo. Caso contrário, você terá que nos dizer mais para descobrirmos o porquê. Se o seu programa é realmente um script que é alimentado em algum outro programa, todas as apostas estão desativadas.