如何更改可执行文件的assemblyIdentity?

时间:2010-06-12 10:48:12

标签: assemblies obfuscation side-by-side disassembly executable-format

我想隐藏我用来创建.exe文件的工具。我没有做任何非法行为,我只是想保护我的知识产权不被复制。如果我在文本编辑器中打开exe文件,我会看到以下部分。

<?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>

我试图将名称更改为:
name="Microsoft.Windows.SomeOtherName"

当我尝试执行该文件时,会出现以下消息。 “此应用程序无法启动,因为它的并排配置不正确。”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我从未改变清单数据,但它可能是可能的。您应该检查链接器选项。

无论如何,像.NETZ这样的exe包装工可能会对事情进行充分的混淆。

现在再看一遍:name属性应该是程序集的名称​​ ,而不是用于创建它的程序(如VisualStudio)。如果不是,你必须告诉我们更多信息,以便我们找出原因。如果你的程序真的是用于其他程序的脚本,那么所有的赌注都会关闭。