一.准备好工具

用到工具如下

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

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

2022年最新京东sign签名算法分析,JD sign 京东app10.4.4版本相关推荐

  1. 京东sign签名算法分析h5st log易语言源码

    京东APP中,为了校验请求的完整性,大部分请求的url中都带了一个 sign参数,下面是一个Android客户端APP请求的抓包信息: 通过工具反编译后分析java源码后发现,每个sign都需要5个参 ...

  2. 从最新财报中,我看到京东“四面楚歌”

    文|螳螂观察 作者|陈浩南 2017年,刘强东曾放言京东要花5年时间超过天猫,成为国内第一的B2C平台.尽管当时京东尚处于"战略性亏损"阶段,但彼时京东肯定坚信"今天的亏 ...

  3. 抖音APP接口签名算法分析

    抖音作为一款日活超过1亿的优秀APP,其客户端与服务端的通信方式很值得APP开发者去研究和学习,为了保护其数据,客户端请求数据的接口都进行了加密,未经过加密处理的url,请求的时候不会返回数据,这里以 ...

  4. 京东印尼站(JD.ID)绑定连连跨境支付收款教程!

    京东印尼站(JD.ID)是京东与印尼当地公司合资成立的跨境电商平台,于2015年11月首次在印度尼西亚上线.京东印尼站目前有12类产品可供销售,随着其在印度尼西亚业务的发展,产品类别将不断增加.产品种 ...

  5. 2022年最新《谷粒学院开发教程》:9 - 前台课程模块

    资料 资料地址 后台管理系统目录 前台展示系统目录 1 - 构建工程篇 7 - 渲染前台篇 2 - 前后交互篇 8 - 前台登录篇 3 - 文件上传篇 9 - 前台课程篇 4 - 课程管理篇 10 - ...

  6. (转)Python rsa 签名与验证 sign and verify

    转自:http://wawehi.blog.163.com/blog/static/143780306201371361120515/ 网上一搜一大把的 python rsa 相关的东西,python ...

  7. sign python_python实现sign签名

    sign签名是用于提供给外部(第三方)调用的接口,调用方需要提供正确的appkey钥匙才能调用,确保了接口的安全性. 签名参数sign生成方法: 假设有请求参数如下: appkey = "1 ...

  8. python中sign函数图片_python接口自动化-实现sign签名(MD5加密)

    一,前序 今天在学习sign签名的的时候,了解了下常用的sign加密算法,突然心血来潮,想用python试着将签名生成的通用步骤用代码实现出来,虽然中间经历了一点小波折,请教了开发同事后,按照他给的思 ...

  9. python封装第三方接口_PYTHON 实现 SIGN 签名: 用于提供给外部(第三方) 做系统对接...

    简介 sign 签名是用于提供给外部(第三方)调用的接口,调用方需要提供正确的 appkey 钥匙才能调用,确保了接口的安全性. 前言 在 app 开放接口 api 的设计中,避免不了的就是安全性问题 ...

最新文章

  1. 小米电脑做开发java_JAVA学习系列之一-搭建开发环境
  2. NYOJ 586 疯牛 POJ 2456(二分搜索 + 贪心)
  3. c语言如何监控网卡信息,查看网卡信息及状态和网卡日志信息
  4. 【机器视觉学习笔记】双边滤波算法(C++)
  5. vue伸缩效果_Vue.js - 元素展开、收起动画效果组件(附:二级菜单的展开、收缩动画效果)...
  6. 前端windows下常用的CMD 命令归纳
  7. Linux 之 编译器 gcc/g++参数详解
  8. pandas学习笔记四之读取写入文件
  9. 3分钟学会python_3分钟学会,学会用Python正确读取大文件
  10. 新型K4宏病毒代码分析报告
  11. MongoDBCompass使用教程
  12. 虎胆龙威5java7723,汉米尔顿腕表联手《虎胆龙威5》再度演绎热血豪情
  13. SAE助力南瓜电影7天内全面Severless
  14. 工作用哪个邮箱好用?好用的办公邮箱让你放假无烦恼
  15. 小米互联网思维新思考20141220
  16. 新堂NUC505开发板第一炮-启动篇
  17. 让GIS三维可视化变得简单-初识Cesium
  18. tf2 自定义循环训练,添加metrics(acc、auc、precision、recall)
  19. 3-7 慕课和掘金小册的学习
  20. 腾讯AI Lab刷新人脸识别与检测两大测评国际记录,技术日调用超六亿

热门文章

  1. ceph查看卷_理解 QEMU/KVM 和 Ceph(3):存储卷挂接和设备名称
  2. Windows10系统重装之U盘安装
  3. FPGA信号处理系列文章——FIR半带插值滤波器
  4. Muduo 网络编程示例之零:前言
  5. hackinglab基础关系列
  6. 初探JVM之垃圾收集器
  7. 三星未来系统显示服务器进水了,三星GALAXY S8+进水二修不开机,CPU烧坏要保资料?这都能完美搞定...
  8. PDE的数值解法(有限元,有限差分法)综合介绍
  9. 记Scanner输入问题:使用方法netInt()后netLine()会为空
  10. Illustrator CS5初学者必读(16)——简单无缝贴图