如何保护我的.NET EXE免受de4dot的解混淆

13 浏览
0 Comments

如何保护我的.NET EXE免受de4dot的解混淆

混淆是一种方法,但它无法保护应用程序的防盗版保护安全。如何确保应用程序不被篡改,以及如何确保注册机制无法被逆向工程?

同时,将C#应用程序转换为本机代码是可能的,而且Xenocode的成本也太高。

C#提供了很多功能,是我的代码的理想语言,所以完全重写整个代码库的想法是不可行的。

在.NET中,安全证书可以很容易地从已签名的程序集中移除。

0
0 Comments

如何保护我的.NET EXE免受de4dot的攻击

在这个问题中,出现了对应的原因和解决方法。原因是,无法完全保护任何应用程序(无论是受管理的还是非受管理的)。即使像PlayStation和iPad这样的系统也可以被破解 - 在这些系统中,供应商甚至控制硬件 - 那么你的应用程序还有什么希望呢?幸运的是,你实际上并不希望完全防止这种情况发生。在我看来,你只需保护你的应用程序足够,以防止某人“意外地”盗版你的产品,而不要过度保护。

你需要这样做,因为用户并不关心你的许可证。许可证是一种虚构的东西,直到他们需要时,没有人关心它们。没有人会阅读它们,他们真的不应该。因此,告诉用户界限的最佳方法是,如果你的应用程序的开箱即用行为符合许可证。在第一种情况下,这意味着要么无法安装,要么第二次安装时以试用版本模式安装。对于后者,可能只需检查配置文件中的明文日期。无论哪种方式,确保以一种优雅、有帮助和尊重的方式处理它。

但为什么不再进一步?为什么不封堵每一个小漏洞呢?答案有两个部分。首先,如果有人愿意越过道德的界限“有意识地”违反你的许可条款 - 即使是一种简单的方式 - 他们也愿意做更困难或危险的事情,比如从torrent网站中删除你的应用程序 - 运行从不受信任的来源下载的应用程序会存在一定的风险。让它变得更困难只会给这些用户带来轻微的困扰,并可能导致与付费客户的问题。保持简单可能会阻止某人深入研究你的应用程序并发布更全面的破解。其次,你可以用来寻找缺陷的眼睛很少,黑客们有很多眼睛,他们有更多的练习找到它们。你只需要错过一个小缺陷,你的应用程序在盗版网站上的分发就会与你什么都没做一样。你必须每次都正确;他们只需要幸运一次。因此,所需的努力非常高,任何成功的可能性非常低。

最终,如果有人想要盗版你的应用程序(而不仅仅是使用它),那就是他们的主要目标。你无法阻止他们。这就是软件的本质;一旦构成你产品的文件在用户的计算机上,他们就可以按照他们的意愿使用它们。这在Java或.NET等托管环境中尤为重要,但对本机代码也同样适用。时间对他们有利,只要给予足够的时间,任何数字安全都可以被破解。

因此,你最好的做法是以一种对你有利的方式与这类用户进行交流。通常情况下,你可以让他们为你工作,而不是反对你。考虑到这一点,无论你的应用程序是什么,保留一个几乎完全功能的免费版本且不会过期可能是值得的。即使只有一个美元的价格标签和免费之间的差距也是巨大的,因为客户不需要用信用卡来信任你。产品的免费版本不仅会有效地杀死盗版分发(为什么冒险使用盗版版本,当你可以以同样的价格合法使用?),而且还有可能大大扩大你的受众。

结果是,你可能需要提高付费版本的价格,这样最终你的收入可能会超过以前每个用户20美元的2,000个用户,而是有100,000个免费用户,其中有500个愿意为“专业版”支付99美元。这样比花费大量时间锁定你的产品赚更多的钱。更重要的是,你可以与这些免费用户互动,并以几种重要的方式利用这种关系。

其中一种是支持。一个悲观主义者会利用这个机会抱怨支持100,000个免费用户的成本增加,但实际上发生了令人惊讶的事情:你的产品变得在很大程度上可以自我支持。你会经常在没有支持费用的大型开源项目中看到这一点。用户会站出来并使其发生。

免费用户通常对支持期望降低,这是有原因的。你只需要将免费版本标记为仅适用于社区支持,并为此目的建立一个用户主持的在线论坛。你的支持知识库是自动生成的,高级用户将代表你为那些需要额外帮助的人引导。更重要的是,这将使你能够更快地发现和纠正错误,最终提高产品质量并降低总体支持成本。以前这是不可能的,因为你的用户基数不够大,但当你将免费用户视为客户时,它可以很好地发挥作用。

另一个是反馈。通过观察你的论坛,你可以了解到一些重要的改进意见,你可能从未考虑过。这可以让你最终把更多的免费用户变成付费用户,并创建一个更具吸引力的产品,吸引更大的受众。

最后,你需要考虑市场营销。所有这些免费用户现在都是支持者而不是对手,他们将相应地采取行动。不仅如此,当发布下一个版本时,这些用户将通过你的批准分发渠道,而不是其他未知的机制。这意味着对于下一个版本,你开始与一个更大、高度感兴趣和支持的受众联系。

专业版应保留的最佳功能是旨在使企业部署和管理变得容易的工具。黑客不会将这些视为足够吸引他们自己使用的理由,但对于一个希望购买300个许可证并在全公司推广的企业来说,这是必不可少的。当然,专业版仍然会被盗版,但再次强调:不要为此感到困扰,因为无论你做什么,你可能无法将产品销售给那些盗版者,所以这并不会给你带来任何收入损失。

虽然心理上可能很难这么多免费提供你的产品,但希望你能理解这确实是最好的方法。不仅如此,从长远来看,这是唯一的方法。我知道有人会认为他们不想以这种方式做。毕竟,多年来他们一直以20美元的价格销售他们的锁定产品。但那只是太糟糕了,因为如果你不这么做,最终会有其他人这样做。而且他们的产品将与你的产品一样好,或者足够接近,他们可以声称如此。然后突然间,你的定价看起来很离谱,销售量急剧下降,你无能为力。如果有必要,你可以选择一个额外的中间层,但它不太可能对你有所帮助。

谢谢大家的信息,我想到了完全锁定它是不可能的,发布免费和专业版可能是途径。

0