一个app的流程分析
分析流程
-
准备环境
这篇文章主要是介绍Android apk的分析流程,不涉及到基础环境的搭建,如果需要基础环境搭建的小伙伴,可以留言或者私信我,到时候需要的人多可以单独开一篇文章介绍基础环境的搭建。首先需要在pc上准备好Android运行环境,真机或者模拟器都可以,然后就是逆向apk需要的jadx,以及分析协议需要的fiddler抓包工具,以及模拟逆向分析的frida环境
-
分析协议
今天分析一个简单的apk的手机号登录协议
首先打开fiddler进行抓包,然后打开手机中的apk,进入到登录界面,界面如下,
随便输入一个手机号,13588xxxx99,然后点击下一步,进行抓包分析,如下
发现有三个请求,通过查看每个请求的参数和返回值:- /Appapi/Common/Checkjlinfo
验证手机号是否是合法的手机号 - /Appapi/Common/getStaticParams
获取sign key,后面的请求中会使用到 - /Appapi/Common/getSmscode
将之前输入的手机号、sign key、以及其他的一些时间类型参数上传到后台获取结果
- /Appapi/Common/Checkjlinfo
-
分析源码
使用jadx反编译apk,然后在源码中查看刚才的几个链接,然后定位到具体的源码如下
图片中贴出来的是getSmscode链接请求的源码,找到对应的源码处,就可以使用frida hook对应的函数,分析参数和流。 -
构建模拟环境
使用frida进行hook分析的源码如下
搭建好frida的环境,然后启动hook脚步,点击app的手机号页面,输入手机号,即可hook到对应的函数以及对应的参数,如下
本篇文章主要是对流程做了一个大概的介绍,具体的很多环境搭建、操作时候的细节没有详细介绍,后面会专门出一篇文章介绍环境搭建的详细介绍。