有问题可以下方留言给我
0x1 分析目标
名称: 各种广告sdk 脱机挂
包名: muling.plugin
分析目的: 分析脱机刷任务原理
0x2 分析过程
通过包内 assets -> project -> project.json文件确定该包是有autojs框架生存, 了解了一下, 该框架主要逻辑是js代码, 被加密放在project文件夹里
通过对文件的监控与静态分析确定了解密函数位于, com.stardust.autojs.engine.encryption.ScriptEncryption
的decrypt
函数, 使用了aes加密, 模式为AES/CBC/PKCS7Padding
, 剩下的就简单喽, hook系统调用拿到key与iv就可以了
frida和xposed都行, 我这里就拿xposed了,因为之前写过
关键代码:
1 | XposedBridge.hookAllMethods(XposedHelpers.findClass("javax.crypto.Cipher", loadPackageParam.classLoader), |
解密后的数据:
通过源码定位第二层解密部分:
直接抠出来, 就可以解密逻辑脚本:
0x3 写在最后
至此就分析完毕了, 写的很粗糙, 像流水账一样, 就是做个记录, 其实比较简单, 主要就是确定解密的位置和找到aes key的方式, 不过通过此次分析, 以后逆向autojs的软件就可以快速解密了