症状
- 我想要加密我的C#代码,以保护它不受潜在的黑客的攻击。
原因
出于隐私或安全目的,你想要通过混淆方式来保护你的C#代码。并且你正在寻找Unity里的工具来做这件事情。
解决方案
Unity并不推荐将混淆作为一种安全解决方案。因为它可能会引入运行时错误,并且可能影响性能。这同样也不能阻止能接触到软件的用户反编译它。如果你担忧的是多人游戏,你需要确保不能相信来自连接上来的客户端的数据,总是要检验这些数据是有效的。
如果你确实想要混淆你的源代码,那么你不应该改动以下的东西:
- 类名
- Unity回调名称
- public修饰的字段名称
- 任何通过“字符串/反射”或者SendMessage、Invoke、StartCoroutine、RPC以及相似的函数方式调用的方法的名称。
你也可以在Asset Store里找到第三方混淆工具。