2023年最新京东sign签名算法分析

一.准备好工具

用到工具如下

1.最新版本APP (下载地址 https://www.wandoujia.com/apps/279987
2.jadx java逆向工具(下载地址https://github.com/skylot/jadx
3.ida逆向工具(自行百度)
4.Fiddler 抓包工具 (自行百度)
5.安卓手机一台

二.初步分析

1.先在手机下载好最新app,然后配置好fiddler手机抓包,网上很多配置抓包教程,这里不详细说了。

2.在app随便搜索一个商品试一试,发现有sign签名,并且含有部分重要信息,之后会用到

参数含义
functionId搜索接口名字
clientVersionapp版本
client手机类型
st时间戳
sv签名算法
body请求的数据

在这里插入图片描述

三.逆向APP分析源码

1.直接jadx打开app查看代码,查找了好久发现了一个比较相关的地方

根据上面日志输出的分析
sgin签名 计算涉及到了接口的这几个参数
functionId,body,uuid,client,clientVersion
在这里插入图片描述

String signature = JDHttpTookit.m20863WV().mo68383Xd().signature(JDHttpTookit.m20863WV().getApplicationContext(), functionId, str, str2, property, versionName)

其中的uuid 大概意思应该就是获取设备ID
在这里插入图片描述

2.进去加密方法体里面继续分析

方法体里面是这样子的,是个接口,既然有接口肯定有实现,继续查找
在这里插入图片描述
找到一个有点像样的,刚好也是5个参数
在这里插入图片描述
关键代码

BitmapkitUtils.getSignFromJni(context, str, str2, str3, str4, str5);

继续进去方法体分析
在这里插入图片描述
这段代码大概意思是 getSignFromJni 这个加密方法 是调用了jdbitmapkit.so里面的代码

 ReLinker.loadLibrary(JdSdk.getInstance().getApplication(), "jdbitmapkit");

3.找出jdbitmapkit.so文件

直接压缩软件打开app,搜索,找出文件
在这里插入图片描述

四.逆向分析libjdbitmapkit.so 文件

1.直接上IDA,把文件拖进去

在方法sub_127E4 找到关键词sign=
在这里插入图片描述
方法里面也刚好有uuid,body,st等关键词,确认是这个没错了
在这里插入图片描述

2.查看ida的代码分析一下算法,并且用java还原
在这里插入图片描述
收工

技术交流QQ 53461569

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值