mrb*_*lah 3 java obfuscation spring
我正在构建一个spring mvc web应用程序.我打算使用hibernate.
我对混淆等方面没有多少经验
混淆应用程序的潜在缺点是什么?
我知道调试应用程序可能存在问题,并且恢复丢失的源代码也是一个问题.
实际运行应用程序是否存在任何已知问题?可以引入错误吗?
由于这是我正在寻找一般指导的领域,请随时打开我应该注意的任何问题.
肯定存在一些潜在的性能/维护问题,但是一个好的混淆器可以让你至少绕过其中一些.需要注意的事项:
但正如您所看到的,其中一些影响有点微妙和理论 - 所以在某种程度上,您需要做的是在混淆后对应用程序进行浸泡测试,就像您对其他任何重大更改一样.
您还应该注意不要假设混淆隐藏您的代码/算法(如果这是您的意图),就像您希望的那样 - 使用反编译器来查看生成的混淆类的内容.
惊讶没有人提到速度 - 一般来说,更混淆=运行速度较慢的代码
[编辑]我不敢相信这有-2.这是一个正确的答案.
缩短标识符和删除未使用的方法将减小文件大小,但对运行速度有0影响(除了从加载时间削减的几纳秒).同时,程序的大多数混淆来自添加的代码:
是所有常见的混淆技术,导致程序运行较慢.