起点读书QDSign QDInfo signature算法分析

本文详细介绍了起点读书App中的QDSign和QDInfo签名算法,通过动态调试和代码分析揭示了签名的计算过程。涉及Java层和SO层的加密方法,并提供了使用Frida Hook获取关键参数的步骤。通过抓包和分析网络请求,展示了登录过程中账号、密码和signature的交互细节。

需要完整算法加QQ:848416881
会持续更新
源代码下载链接:https://github.com/lavender1203/QDreaderApp
Apktool 反编译加 回编译后 启动app死在splash界面进不去登录界面。

动态调试下:
1.Manifest.xml 文件加入<application android:debuggable=“true” …>

编译出来有5个dex,mutidex被禁止。。。。sdk24之后建议打包成一个dex

invoke-static {p0}, La/b;->c(Landroid/content/Context;)V #加载load-jni库 —然后dead。。。。。
加载了一个so文件然后AndroidStudio+smali调试死掉,找到libload-jni.so文件,IDA来干它

1.adb shell am start -D com.qidian.QDReader/.ui.activity.SplashActivity
2.启动调试服务,进行端口转发
./data/local/tmp/android_server
adb forward tcp:23946 tcp:23946
3.附加so或进程,在执行函数打断点。
4.使用jdb连接apk的java层(需要关闭Android selinux)
HWFRD:/ # getenforce
Enforcing
HWFRD:/ # setenforce 0
HWFRD:/ # getenforce
Permissive
adb forward tcp:8000 jdwp:pid
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8000

F1085218+11CC= F10863E4

6000 – 6E64数据丢失

adb shell dumpsys activity activities 查看当前活动activity
-签名验证(已破解)—
com.qidian.QDReader.ui.activity;->QDLoginActivity->loginByPassWord()->
this.mPresenter.a(str1, str2); #str1= nickname str2 = password

登录所需参数:
首次登录:
auth_request+username+passwd 获取 id_token

以后登录:
Request + id_token

Filtter抓包:
参考文章地址:https://bbs.125.la/thread-14053235-1-1.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值