app逆向实战:某咨询6.0.4.4版本signature等参数抓包与破解
本篇博客旨在记录学习过程,不可用于商用等其它途径
入口
密码登录接口
抓包
根据抓包结果得知动态参数是client_timestamp
,keyword
,client_session
,sig
,sigTime
,cursor
初步观察得出以下结论:
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
注意是实例化调用。
本文来自博客园,作者:七夜魔手,转载请注明原文链接:https://www.cnblogs.com/ranbox/p/18461032