分析过程就不讲故事了,只说结论性的东西
0. 一张图胜过千言万语
1. 核心代码加密隐藏
该广告SDK即图中A.jar,使用时import进来即可。A.jar基本都是proxyfunction,核心代码在B.jar中实现,所以B.jar是不会轻易让cracker拿到的, 如图所示
B.jar文件采用DES加密并base64编码,8字节的秘钥跟在最后面, 以StringBuffer变量形式存放在A.jar的某class中
StringBuffer jarFileContent = newStringBuffer().append("6kVkS1Ny/KKlJKs+fT9kTF--这里就是DEX密文啦--mtkc2WNXTCerh1JHGXS.....密钥)
2. DEX动态加载框架
调用接口基本类型
Object invokeObjectMethod(string 类名, string 方法名, class[] 参数类型数组,