2023年最新京东sign签名算法分析,JD sign 加密
一.准备好工具
用到工具如下
1.最新版本京东10.4.4 (下载地址 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 |搜索接口名字 | |clientVersion|app版本| |client|手机类型| |st|时间戳| |sv|签名算法| |body|请求的数据|
三.逆向APP分析源码
1.直接jadx打开app查看代码,查找了好久发现了一个比较相关的地方
根据上面日志输出的分析 sgin签名 计算涉及到了接口的这几个参数 functionId,body,uuid,client,clientVersion
其中的uuid 大概意思应该就是获取设备ID
String signature = JDHttpTookit.m20863WV().mo68383Xd().signature(JDHttpTookit.m20863WV().getApplicationContext(), functionId, str, str2, property, versionName)
2.进去加密方法体里面继续分析
方法体里面是这样子的,是个接口,既然有接口肯定有实现,继续查找
关键代码
cBitmapkitUtils.getSignFromJni(context, str, str2, str3, str4, str5);
继续进去方法体分析
这段代码大概意思是 getSignFromJni 这个加密方法 是调用了jdbitmapkit.so里面的代码
ReLinker.loadLibrary(JdSdk.getInstance().getApplication(), "jdbitmapkit");
3.找出jdbitmapkit.so文件
四.逆向分析libjdbitmapkit.so 文件
1.直接上IDA,把文件拖进去
在方法sub_127E4 找到关键词sign=
2.查看ida的代码分析一下算法,并且用java还原
收工
技术交流QQ 53461569