我将我的程序/DLL 编译为 NET 2 代码,因为我知道如果此人使用 (.NET) 反编译器,获得可执行文件的每个人也可以自动访问我的源代码。所以我问自己如何阻止别人看到我在 .NET 中的所有代码,不仅因为我为我的简单方法和我的初学者编码风格感到羞耻 :)
我发现在如何保护 .NET 可执行文件的源代码方面没有任何用处。我找到了“IL Protector”,它承诺保护任何 DLL/EXE 32/64 位。我安装了它,添加了我的 DLL,用它重新编译了我的 DLL,它出现了一个绿色标记,表明我的程序集现在应该受到保护。直到这里它才起作用。
然后我将受保护的 DLL 添加到正在使用它的可执行文件的文件夹中,但从现在开始,我得到了一个关于“模块”或类似“protect64.dll”的内部异常。我无法解决这个问题,也不明白需要什么。我将我的 NET 2.0 项目升级到了 Net 3.5,但没有帮助。我删除了我的 DLL 的引用并将其添加到项目中,并将项目编译为新的,但即使编译的 EXE 继续向我抛出内部异常。在这个 DLL 中,我有一个从 EXE 调用的简单方法。在不受保护的 DLL 版本中,它在受保护的版本中工作,我不断收到内部异常,Visual Studio 的帮助谈到了“方法<>”,不知道这意味着什么。
我尝试了另一个免费的保护程序(混淆器或类似的东西)。使用起来很糟糕,结果什么也没有。反编译器在一秒钟内用我的方法反编译了受保护的 DLL,并创建了与我的原始文件夹相同的项目文件夹。
那么,我将如何有效、轻松且免费地保护我的代码不被他人看到呢?一步一步的指南将比没有解释的下载链接更受欢迎。我知道有很多商业软件,但我做的是私人的,所以我为什么要付费。微软必须像编译器分支(Borland、Embarcadero)中的其他所有人一样确保“Visual Studio 编译器”的安全。