我正在尝试混淆使用Rhino引擎的项目。它有许多脚本可以调用类中的方法,而且我一直很难使它工作
当它混淆时,它会改变方法名称,从而使脚本调用不存在的类方法
问题是,我可以保持这些类不被混淆,但是为了安全起见,有很多这样的类,我宁愿混淆它们。
我有什么方法可以做到这一点吗?
答案 0 :(得分:1)
你使用什么混淆器?看起来你正在使用一个完全混淆的商业广告。
模糊处理有两种模式:
1)完全混淆 - 这意味着您需要对 ALL 源文件进行模糊处理。对于你需要保持不变的东西(这样你可以从外部脚本调用它),你需要使用你的混淆软件的“导出”或“外部”或“防止”列表。你必须逐一做到这一点。这样做的好处是,如果你输入所有代码,你就没有任何你不想改变的东西(因为根据定义,没有外部代码)< / p>
2)文件模糊处理 - 这意味着混淆器只会更改局部变量名称和优化语句,但不会更改面向公众的名称。因此,您“外部脚本”将继续工作。大多数minifiers在这种模式下工作,但混淆值非常有限。
你必须从这两种模式中挑选。它们大致对应于Closure Compiler的简单和高级模式。
如果您需要对代码进行模糊处理以防止逆向工程,那么您必须使用完全混淆,在这种情况下,您只需要完成大量工作以防止更改不需要的名称,或者正如我所说,投入你的所有代码。