相关文章
2023年最新电商某东app端sign签名算法与cipher加解密逆向分析(2023-09-26)
2024-11-10 17:00

前言     本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!技术交流合作请私信

2023年最新电商某东app端sign签名算法与cipher加解密逆向分析(2023-09-26)

用到工具如下

    之所以要选择android 6 手机,原理如下:      Android 系统将 CA 证书又分为两种:用户 CA 证书和系统 CA 证书。     系统 CA 证书存放在 /etc/security/cacerts/ 目录下,名称是 CA 证书 subjectDN 的 Md5 值前四位移位取或,后缀名是 .0,比如 00673b5b.0。考虑到安全原因,系统 CA 证书需要有 Root 权限才能进行添加和删除。     对于非 Root 的 Android 设备,用户只能安装用户 CA 证书。     无论是系统 CA 证书还是用户 CA 证书,都可以在设置 → 系统安全 → 加密与凭据 → 信任的凭据中查看

                                (图1CA证书的位置 用户凭据)     Android 从 7.0 开始,系统不再信任用户 CA 证书(应用 targetSdkVersion >= 24 时生效,如果 targetSdkVersion <24 即使系统是 7.0 + 依然会信任)。也就是说即使安装了用户 CA 证书,在 Android 7.0 + 的机器上,targetSdkVersion>= 24 的应用的 HTTPS 包就抓不到了。

    (1)下载地址

 

                             

(图2 charles下载位置)

    按照默认next即可,然后选择路径。

    (2)Charles破解

    破解地址
 

   

                             (图3 charles 在线破解)

(3)使用Charles

    在Charles的菜单栏上选择”Proxy”->“Proxy Settings”,填入代理端口8888并且勾上”Enable transparent HTTP proxying”,这样就完成了在Charles上的设置     在”Help”->”Local IP Address”中可以查看本机的ip地址,当然也可以在cmd中通过ipconfig查看。

                             

                                             (图3 charles 配置与使用)

                                           (图3 charles 配置与使用2)

    设置保存完成后,charles界面会弹出一个连接请求框,点击“Allow”。

                             (3.charles抓包配置1)

                                                              (3.charles抓包配置2)

                                         (3.charles抓包配置3手机设置代理)

 

   之所以不选用最新版APP,是因为最新版APP不走系统代理(Proxy.NO_PROXY)抓不到包

 

                                                       (图4 jadx下载)

 
 
 

    打开手机app,然后再点击某个商品,可以看到已经抓到明文数据了

                                          (图5.charles抓包成功

参数分析

 
quest参数分析 https://api.m.jd.comapi服务器functionId=wareBusiness表示请求商品信息clientVersion=10.1.4表示app版本号build=90060 固定值

client=android&d_brand=Xiaomi&d_model=MI4LTE&

osVersion=6.0.1&screen=1920*1080

手机基本信息partner=ks006固定值oaid=&eid=  并未参与服务器校验,不用管sdkVersion=23android 版本号eu=&fv=  并未参与服务器校验,不用管uuid=  设备标识,参与签名校验aid=&area=    固定值networkType=wifi   网络类型wifiBssid=  固定值uemps=0-2&harmonyOs=0&scval=7929459固定值

st=1695609462872&

sign=e684ce9273978b1b9fc14382508e25ca&

sv=121

经过多次抓包查看,发现这三个值是变化的。 st,sign,sv为签名字符串,必须,否则采集不到数据。

发送post请求,携带body数据如下

 

body数据为url编码的字符串,解码后如下

 

其中"skuId":"7929459"为商品ID,其它值可以固定。

 
 

把app导入到jadx,我们要追踪st,sign,sv这三个参数的来源,那么我们搜索一下,先搜索sign的位置,然后一步步查找,最终找到

                                        (图6sign签名位置1

sgin签名 计算涉及到了接口的这几个参数 functionId,body,uuid,client,clientVersion 签名函数

 

                                                           (图6sign签名位置2

签名函数的位置,可见签名函数位于jdbitmapkit.so文件中。 关键代码

 

getSignFromJni 这个加密方法 是调用了jdbitmapkit.so里面的代码

 

注意新版京东有检测frida的,需要改个进程名跟端口。

用frida注入如下函数  BitmapkitUtils.getSignFromJni(context, str, str2, str3, str4, str5);

 

                                     (图7.Frida注入验证

如上,我们可以看出,st sign sv都是从so来的。

至此,sign的来源已理清。

直接压缩软件打开app,搜索,找出文件jdbitmapkit.so

.直接上IDA,把文件拖进去 在方法sub_127E4 找到关键词sign= 方法里面也刚好有uuid,body,st等关键词,确认是这个没错了。

    查看ida的代码分析一下算法,并且用java还原,再翻译成python代码。

(图8java测试代码

继续搜索”cipher“字段,找到cipher加解密位置如下

(图9.cipher加解密类

cipher这个直接复制d这个类就包含了加解密。

(图10.sign签名采集到商品详情信息)                              

技术交流 5b6u5L+h77yaYnljNjM1MiAgUVE6Mzk4NDg4NzI=(base64解码

    以上就是本篇文章【2023年最新电商某东app端sign签名算法与cipher加解密逆向分析(2023-09-26)】的全部内容了,欢迎阅览 ! 文章地址:http://changmeillh.xhstdz.com/news/1210.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://changmeillh.xhstdz.com/mobile/ , 查看更多   
最新文章
AI在创造还是毁掉音乐?深度学习时代的音乐变革
近一个月来,音乐界迎来了一场由人工智能主导的变革。随着多个音乐大模型的相继亮相,AI技术一举将音乐创作的门槛降
短视频排名seo(短视频排行榜前十名)
提高短视频曝光率**#8211; 如何吸引更多的观众?在当今社交媒体爆炸的时代,多种类型的短视频在不同的平台上迅速传播。但与此同
SEO培训课程助力企业快速提升网站排名,抢占市场风口
本课程专注于SEO培训,旨在帮助企业优化网站,提升排名,抢占市场优势,通过专业指导助力企业在线上竞争中获得先机。随着互联网
云南uc神马搜索广告怎么开户
在互联网广告日益发展的今天,企业的市场推广已成为提升业绩的重要组成部分。云南作为一个旅游和文化丰富的省份,吸引了大量用户
wordpress插件,免费蜘蛛统计分析插件,wordpres翻译插件「附下载」
Wordpress采集插件不需要任何采集规则,完全实现一键抓取任务。支持365天无限循环挂机采集维护所有网站。设置好相关参数后,软件
2024年区块链技术培训:全新课件发布
2024年区块链技术培训:全新课件发布汇报人:2024-11-16区块链技术基础区块链核心技术详解区块链平台与开发工具介绍区块链安全性
Dynadot支持哪些中文域名后缀
Dynadot是一家知名的国外域名注册商,成立于2002年,其官网支持中文、英文、法语、西班牙语等多种语言切换,主要提供域名注册、
如何轻松应对Nginx配置文件大小限制提高网站性能与稳定性
为什么需要关注Nginx配置文件大小限制 在使用Nginx作为网站服务器的过程中,配置文件的大小限制是一个常见的问题。当配置文件过大时,会导致服务器性能下降,影响网站的稳定性和访问速度。因此,及时优化和调整配置文件大小非常重要。 如何
打造健康生活新选择:养生馆推广文案写作技巧揭秘
引言:健康生活的追求 在现代社会中,健康已经成为人们最看重的财富之一。快节奏的生活和不断加重的工作压力,使得越来越多的人开始关注自己的身心健康。养生馆作为一种创新的健康生活方式应运而生,它不仅为人们提供了放松身心的场所,还
探索兰州魅力:一份全面的兰州旅游攻略揭开牛肉面与黄河的秘密
探索兰州:邂逅西北的魅力之城 兰州,作为甘肃省的省会,坐落于黄河上游,是一座历史悠久而又充满活力的城市。这里不仅拥有丰富的文化遗产,还有壮观的自然景观。兰州以其独特的地理位置、深厚的文化底蕴和美味的地方美食吸引着越来越多的
相关文章