1.使用材料:(Windous10)pcPython3环境雷电模拟器frida16.0.9(hook框架)vscodeCharles(抓闭蠢包)APP(驾培训创业教练)未加固jadx4.12.逆向目标:hook接口:逆向登录参数sigin加密3.详细逆向过程:3.1抓包设置ssl代理,在雷电模拟器WIFI设置代理,下载证书并安装证书,重启雷电模拟器打开 驾培训创业教练 APP的登录页面打开抓包工具输入手机号抓轿睁陪包,抓包结果如下:vscode note记录抓包结果,养成好习惯!3.2反编译app搜索逆向关键词APP未加壳,如果加壳需要先破壳,安卓逆向中最重要的就是:算法分析和脱壳打开jadx 导入APP后开始反编译 搜索关键词:getSmscode 双击转到代码区代码审计:这段代码就是构造请求体,包括了 类型 手机 时间 签名 。其中签名是用了stringMD5toUpperCase函数来生成,其中stringMD5toUpperCase函数又使用了yyyyMMddHHmmss + i + str + str2这几个参数生成,我们不知道str是什么,所有可以使用frida进行hook!!!!!!3.3编写hook代码目录如下:我们直接使用模板fridapython模板模板介绍:frida两种模式,我们这里使第二种。他们的区别:-spawn模式,Frida会自行启动并注入进目标App,Hook的时机非常早 自动重启 设置包名-attach模式,Frida会附加到当前的目标进程中,即需要App处于启动状态,这也意味着只能从当前时机往后Hook 手动启动 设置APP名js模板:结合早竖反编译Java代码编写:补充:java方法的重载什么是重载?几个相同的函数,参数不相同该怎么hook呢?Java.use('包名.类名').方法.overload('java.lang.String')例如:Java.use('com.jx885.library.http.CommAction').getSmscode..overload('int')implementation=function(mi){}完整代码:3.4 连接frida服务器,对app进行hook终端命令:端口转发运行结果如下:补充:grpc直接调用