文章

某天气VIP分析

前置工具:

雷电模拟器9.0.77.0(64) + Redmi Note 8

frida15.22

jadx

分析流程

MT提取安装包后发现是未加固的APP。

抓包发现登陆参数除了对password进行了加密外,其他参数都是明文,不在分析登陆接口。

直接分析该APP的vip功能,jadx打开APP等待分析完毕。

直接搜索关键字isVip发现

太棒啦,直接看到了UserInfo用户信息类,点进去分析

花里胡哨的判断,上frida脚本让isVip返回true试试,

奇了怪了,hook这个函数刷新APP后竟然没有任何输出,难道vip得判断逻辑不在这里?继续分析APP逻辑。

再次搜索isVip发现有一个GetIsVip的方法

跟进分析方法

直接让这个方法返回true试一下

let getIsVip = Java.use("com...ProcessPrefer");

        getIsVip["getIsVip"].implementation = function () {

            let getIsVip_Value = this["getIsVip"]();

            getIsVip_Value = true;

            console.log(`ProcessPrefer.getIsVip result=${getIsVip_Value}`);

            return getIsVip_Value;

        };

观察APP变化

发现VIP已生效,测试VIP功能

也是正常可以使用的。

总结

这个是目前这个版本的分析思路,在这个APP更新到最新版后我发现加入了Frida检测,目前还没有分析出检测流程,等待分析完毕后再出一期全版本的VIP通杀,和绕过frida检测。

License:  CC BY 4.0