据我所知,有些应用程序会反编译DLL以从应用程序文件中获取源代码。
我不仅不希望别人拥有这些资源,而且我也不希望别人使用它们,我的意思是DLL文件。那么我应该如何锁定DLL以及它们的安全性呢?
答案 0 :(得分:2)
在进入其他任何事情之前,我会说完全无法保护您的应用。
话虽如此,你仍然可以让事情变得更加困难。有很多混淆器可以帮助你让某些人更难以反编译你的应用程序并理解它。
这是你真正想要的最好的。
就个人而言,如果有的话,我真的不会太深入。您会发现您要么花费太多的金钱或时间(或两者)试图保护您的应用程序免受无人问津的侵害。这些人是同一个人,无论你向他们提出什么样的障碍,都会继续尝试并且考虑到托管语言的本质,他们很可能会成功。实际上,大多数混淆器可以使用简单的工具进行反混淆处理......与此同时,您还可以通过其他重要功能和错误修复,因为您在安全措施上花费了更多的时间和精力。
答案 1 :(得分:1)
混淆是保护代码的一种方法。同样,解决方案根据您的需要是相对的。如果你有一个超级秘密的计划,那么你会想要探索更昂贵和更有效的策略。
但是,如果您正在开发一个商业应用程序或其他任何黑客无法进行逆向工程的事情,那么最小化到正常的混淆策略就足够了。正如主要答案所示,请查看这些链接。
最近,我遇到了ConfuseEx,这是一个免费的开源混淆器,可以完成WPF应用程序的工作。它看起来非常强大,有效且可定制。
答案 2 :(得分:0)
对于DLL,我们几乎无能为力,混淆文件是最好的方法,但公共成员将保持原样,但如果你将它们打包在你的exe文件中,并且混淆它们,没有人可以轻松使用它们。 我使用了ConfuserEX,它非常易于使用和有效。