app逆向实战:某咨询6.0.4.4版本signature等参数抓包与破解

本篇博客旨在记录学习过程,不可用于商用等其它途径

入口

密码登录接口
在这里插入图片描述

抓包

根据抓包结果得知动态参数是client_timestampkeywordclient_sessionsigsigTimecursor
初步观察得出以下结论:
password:加密后的密码
rpwd: 加密参数,跟signature加密方式一致
username : 账号
yd_device_id : 加密参数
在这里插入图片描述

查壳

使用查壳工具发现app有360加固
在这里插入图片描述

参数源码定位

使用jadx或者andriodkiller反编译拿不到核心代码
在这里插入图片描述

尝试使用frida-dexdump获取apk的所有dex文件,记得先运行frida和apk再进行捕捉
在这里插入图片描述

提取到的dex文件大概有30个,存储路径在执行命令的路径,使用手动合并的方式, 先把 Dex 文件名改名为 classes∗. Dex, 然后把 APK 改为rar, 把改名后的 Dex 复制到原 rar 中, 然后改成 APK, 最后放到 Jadx 中反编译
在这里插入图片描述

反编译后全局搜索yd_device_id,看到只有一个搜索结果,双击进去
在这里插入图片描述

看代码可以确定就是核心位置了,接下来跟下去就可以知道生成逻辑了
在这里插入图片描述

源码分析

signature or rpwd

先看signature,通过它可以得到rpwd的加密方式,大致的跟踪流程是ho1.a -> SignUtil.a,最后进去的是com.yidian.news.util.sign,调用的是native层的代码
在这里插入图片描述

frida hook 一下看看结果
在这里插入图片描述

根据执行结果与抓包对比确定它的加密核心代码位置
在这里插入图片描述

yd_device_id

大致的跟踪流程是ey5.e -> FtDeviceFinger.d().a,这里的代码在com.yidian.yac.ftdevicefinger.core包下的
在这里插入图片描述

到这就不跟进去了,直接frida hook看看结果,yd_device_id注意是实例化调用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

posted @ 2024-07-29 19:40  七夜魔手  阅读(5)  评论(0编辑  收藏  举报  来源