相关文章
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://zleialh.xhstdz.com/news/1210.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://zleialh.xhstdz.com/mobile/ , 查看更多   
最新文章
RPA实战案例解析,一文看懂RPA工作原理
在这个快节奏的时代,我们渴望更多时间追求梦想。面对电脑前堆积的数据录入和商品上架等重复工作,我们感到束缚。然而,RPA机器
做seo为什么要从白帽seo做起
本人十三君跟着师父十二君做seo也有些时间了,从接触seo以来,发现一个有趣的现象:很多做seo的人员,尤其是新人总想着玩黑帽与
企业工信部备案提交教程(电子化备案)
一、教程目的 本教程主要针对首次备案过程中所需基本信息的填写说明。 (非经营性网站:只要是通过第三方支付࿰
伊金霍洛网站排名优化费用是如何计算的?
伊金霍洛网站seo优化百度搜索引擎关键词快速排名推广提升自然流量点击SEO优化师、网站设计师、梦想者您的流量获取专家“创新互联
【R9s(全网通)搜狗手机输入法下载】OPPO R9s 全网通搜狗手机输入法12.1.1免费下载
搜狗输入法,拥有超大中文词库,输入更加精准,智能。搜狗智能旺仔带你用表达,斗图,妙语,输入更加有趣。******特色功能******
57、曾正忠三部曲 《变化球 Breaking Ball》《迟来的决战 The Last Battle》《无胆狗雄 TATAMI》
水平有限,还望轻喷。\\\ ( 'ω' ) //// 相较去年,重心从挑选top10变成了尽量多列举一些作品,所以今年提及的漫画数量比较
微信公众号及服务号文章爬取
使用Python爬取公众号文章主要两种方法:通过爬取第三方公众号聚合网站通过微信公众平台引用文章接口微信传送门已被封杀,现存可
人工智能板块震荡:投资者应关注AI ETF与软件ETF动态
随着科技的不断发展,人工智能(AI)领域的投资持续引发市场的关注。根据最新市场数据,截至今日收盘,中证人工智能主题指数上涨
男科专题:宁波市男科医院排名更新,宁波普仁男科医院怎么样
男科专题:宁波市男科医院排名更新,宁波普仁男科医院怎么样?男科疾病常常困扰着男性的生活与工作,影响着他们的身心健康。因此
品牌升级前必须思考的5个关键问题
重塑品牌事关重大,改变现有的品牌名称或形象可能会非常冒险。但同时,品牌形象升级也可能恰恰是治愈品牌病痛的不二良方。当企业
相关文章