本帖最后由 Sean1994 于 2019-7-23 11:44 编辑
[ 本帖最后由 Sean1994 于 2019-7-23 11:33 编辑 ]\n\n
声明:本帖只作为技术分享,切勿用于非法用途,如果用于其他用途,本贴概不负责,如果有侵权,请管理员删除。
一个改机案例
6月份拿到一个口碑不错的商业改机案例,该案例只能运行在指定的手机,指定的rom,号称各大app无法检测,免root的改机框架。
我手上只有nexus6p,安装到手机上跑了一下,瞬间闪退,没有任何崩溃日志。但是这条日志出卖了它:
这明显是调用System.exit(0)主动退出。
静态分析
通过图片可以看到dex被混淆,字符串也被加密
解密字符串重打包
字符串解密往往是固定的smali格式:
const-string vX, "加密后的字符串"
invoke-static {vX}, Lcom/test/decString(Ljava/lang/String;)Ljava/lang/String;
move-result-object vX
这个案例也不例外,所以编写一个脚本去匹配以上代码,然后调用解密代码(自己去源码里扣)解密字符串,然后把解密之后的字符串替换加密的字符串,然后再删除const-string vX, "解密之后字符串"以下两条指令,然后重打包即可(各位大佬若有更