android签名算法怎么实现

发布时间:2022-03-21 16:27:17 作者:iii
来源:亿速云 阅读:159

本文小编为大家详细介绍“android签名算法怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“android签名算法怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1、抓包工具抓取一个请求

POST /rest/n/feed/nearby?app=0&kpf=ANDROID_PHONE&ver=6.5&c=HUAWEI_KWAI&mod=HUAWEI%28HWI-AL00%29&appver=6.5.5.9591&ftt=&isp=CUCC&kpn=KUAISHOU&lon=102.698614&language=zh-cn&sys=ANDROID_9&max_memory=384&ud=0&country_code=cn&oc=HUAWEI_KWAI&hotfix_ver=&did_gt=1584622753889&iuid=&net=WIFI&did=ANDROID_9ba4839bf09a1834&lat=25.002707 HTTP/1.1 type=10&page=1&token=&count=20&id=9&refreshTimes=0&coldStart=false&source=1&browseType=1&seid=60ed7899-e25e-4b9b-b971-3f75b4df00fd&os=android&sig=75e33af6cb4a795c039e0f94a9bd27bf&client_key=3c2cd3f3

2、分析

       可以看到请求的参数中,有一个字段叫sig,我们主要要做的工作就是通过参数计算出这个sig,通过逆向分析发现,这个sig计算方式为:

把url中的参数放入map1中;
把表单中的参数放入map2中;
把map1和map2中的元素以key=value的形式放入arraylist中

对arraylist进行排序;
把arraylist中的元素按顺序拼接成一个字符串str;
把str转成bytearray;
调用CPU.getClock(),传入str计算签名;
CPU.getClock()是一个native方法,在libcore.so中实现

3、放代码

from sig import signatureimport requestspara = {    "app":"0",    "kpf":"ANDROID_PHONE",    "ver":"6.5",    "c":"HUAWEI_KWAI",    "mod":"HUAWEI(HWI-AL00)",    "appver":"6.5.5.9591",    # "ftt":"",    "isp":"CUCC",    "kpn":"KUAISHOU",    # "lon":"102.698614",    "language":"zh-cn",    "sys":"ANDROID_9",    "max_memory":"384",    "ud":"0",    "country_code":"cn",    "oc":"HUAWEI_KWAI",    # "hotfix_ver":"",    "did_gt":"1584622753889",    # "iuid":"",    "net":"WIFI",    "did":"ANDROID_9ba4839bf09a1834",    # "lat":"25.002707"}post = {    "type":"10",    "page":"1",    "token":"",    "count":"20",    "id":"9",    "refreshTimes":"0",    "coldStart":"false",    "source":"1",    "browseType":"1",    "seid":"60ed7899-e25e-4b9b-b971-3f75b4df00fd",    "os":"android",    "client_key":"3c2cd3f3"}j = signature.WeChat_YY_yhzf.sig_post("https://apissl.ksapisrv.com/rest/n/feed/nearby",para,post)header = {"Content-Type":"application/x-www-form-urlencoded"} resp = requests.post(j["para"], data=j["data"],headers=header)print(resp.text)

请求结果如下:

android签名算法怎么实现cdn.nlark.com/yuque/0/2020/png/97322/1606958397549-a4664517-e9df-496f-8f5f-8816042a6582.png?x-oss-process=image/resize,w_1500">

读到这里,这篇“android签名算法怎么实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. RSA加解密及签名算法的技术原理及其Go语言实现
  2. android实现上传

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android

上一篇:Xposed数据采集实例分析

下一篇:Frida脱壳工具怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》