Auto.js Pro最新版加密解密分析 | Auto.js更新至3.0.0版本 更强大了
最近Auto.js Pro更新了一个版本,重新上线dex加密,且增加一种新的加密方式:Snapshot加密,具体的更新日志如下:
Pro 8.7.6
☆☆ 推荐:加密增强 ☆☆
新增 加密方式——离线dex加密
新增 加密方式——离线snapshot加密
以上两种加密可大大增强您的应用的安全性,后续还可能恢复在线加密服务,提供更强的加密。
☆☆ 推荐:UI可视化设计 ☆☆
新增 UI可视化设计编辑器
新增 UI xml中允许使用loadDex/loadJar中的类
打包的时候会让用户选择加密方式,如下图所示:
![](http://n4.ikafan.com/assetsj/blank.gif)
作者这次也把离线加密的算法key做了一下更新,这里直接给大家说一下:
//其中iv没有变化,key是变了
String getIV = MD5.encode(buildid + name).substring(0, 16);
//以下是key的生成
String md = MD5.encode(packname + version + mainjs+versionCode);
key = Base64.encode(AESPK7.encrypt('seBmfdYSRu2ysWEl'.getBytes(), md.getBytes(), getIV.getBytes()));
离线dex加密还是之前的加密,之前在Pro7上面就有人绕过验证调出来加密过,加密之后会放在classes.dex,类名是固定的,在:
org.autojs.autojspro.gen._7a9076d6d94e62c13d641aa71f19ae8e
![](http://n4.ikafan.com/assetsj/blank.gif)
这种加密的生成的class没有做任何的其他处理,比如字符串、函数名等,跟庖丁的加密没法比。
接下来就说下新增的一种加密方式:Snapshot加密。这种加密比较新颖,从字面的意思可能是快照加密。也就是该文件是Rhino代码运行时的预编译字节码,如 toast('11111'); 加密之后是这样:
![](http://n4.ikafan.com/assetsj/blank.gif)
十六进制打开:
![](http://n4.ikafan.com/assetsj/blank.gif)
通过对比分析,它具有固定的文件格式,有记录函数名称、函数个数、变量的地方,像dex一样,结合这dex可以对应出每个标识位的意义,目前来说还是比较安全的,推荐使用这种加密方式。
虽然作者说以后可能会出在线加密,当然在线加密可自定义的加密方式更多,但是我觉得也无非就是对dex的处理吧,不过肯定会带慢速度,加密了,速度是个啥玩意儿?
支持Pro8的脚本,建议加密方式使用Snapshot加密;支持Pro7的脚本肯定要推荐Auto.js庖丁了,庖丁推出3.0.0更强的字符串加密方式了:
--------更新日志--------
1.增加dex名字自定义、是否随机类名的功能;
2.支持是否开启抓包功能可选;3.解决报毒问题
![](http://n4.ikafan.com/assetsj/blank.gif)
加密之后变成这样了:
![](http://n4.ikafan.com/assetsj/blank.gif)
我把key给随机了,目前庖丁的加密推荐这个方式。