根据我所了解的,代码混淆并不难“破解”,而且它只能将不可避免的事情延迟一下。那么,它的目的是什么?
如果有人真的想窃取你的源代码,他们可以做到。
如果有人需要查看你的源代码以进行无害或有益的目的,他们却无法做到。
你可能不应该在代码中存储任何敏感信息,因此这不应该是一个问题。
如果你不混淆代码,你仍然没有提供完整的源代码,因此你可以销售“源代码许可证”。
有趣的是,我曾经见过的唯一混淆的代码是含有错误的可怕代码。我需要查看代码的唯一原因是找出问题所在以及我可以做些什么来修复它。
例如,我需要替换ASPDotNetStoreFront中的某些图像。当寻找标签位置时,我发现它们包含在编译代码中。太烦人了。因此,我试图反编译代码,找出要通过正则表达式替换哪些img标签。我尝试查看源代码以查看可能来自给定编译方法的图像,并且反编译器无法处理它,我认为这是因为代码混淆。我真的没有时间去寻找解编译器/反混淆器。