Auto.js Pro加密说明


Auto.js Pro加密说明

Auto.js Pro支持在打包时对js文件进行加密,加密是通过多种方式将源码编译、加密为非明文文件。

注意: Auto.js Pro的加密并不包括对代码的混淆,建议在使用自带加密前再用其他混淆工具对代码进行一次混淆。可配置编译脚本在打包时自动执行混淆,具体可参考Pro 9.2.9以上版本中的示例 -> 项目与打包 -> 代码混淆。

加密方式

由于Auto.js Pro目前有两个引擎 ———— 旧引擎Rhino和新引擎Node.js。Pro 8以前的代码均是使用Rhino引擎,在Pro 9则可在文件最前面增加”nodejs”来使用Node.js引擎,同时启用全新的异步API(具体参见Pro 9文档)。

每个引擎的加密实现方式有所不同,破解难度也会有所区别。在打包时可选择不同的加密等级,这里将说明不同加密方式的区别。

encryption-levels

Node.js加密

还原难度:⭐️⭐️⭐️⭐️⭐️

Node.js引擎目前只有一种加密方式,因此无论选择哪种加密等级结果没有不同。Node.js加密的还原难度较高,推荐使用新的Node.js引擎来编写你的代码,文档参见Pro 9文档

Rhino普通加密

还原难度:⭐️

这种加密仅仅是将文件用某种方式加密,运行时需要解密,比较容易被还原。

Rhino Dex加密

还原难度:⭐️⭐️

这种加密方式将js文件编译为dex文件,一方面提升运行效率,另一方面提高了破解门槛。但dex本身仍然能看出代码逻辑,推荐再使用加固或dex2c等方式进一步保护代码。

Rhino Snapshot加密

还原难度:⭐️⭐️⭐️

这种加密方式将js文件编译为字节码文件,提升了运行效率和破解门槛。但字节码文件中的字符串等仍然为明文,因此不管使用什么加密,都推荐先使用混淆工具混淆。

加密时或加密后遇到错误

若加密过程遇到编译错误,可能是因为项目中包含web但js文件,这些文件也被参与加密导致。可以通过ignore文件将其排除加密范围,具体参见项目与配置


本文不允许转载。
  目录