今天我们要分析的app 是某瓜数据, 版本号v1.4.7 ,小伙伴们可以去各大应用商定自行下载。

转载请注明出处:
https://blog.csdn.net/weixin_38819889/article/details/123847587

1.先来抓个包


经分析,该app没有壳,然后加密参数就是一个sign,今天研究的重点就是看看sign值是咋生成的。

2.jadx静态分析


直接搜索"sign",在这里(builder2.addHeader("Sign", com.feigua.androiddy.b.a.a(hashMap, d2, currentTimeMillis + ""));)就能看到很可疑的地方,然后点进去看看里面的代码 是个啥。

之后,来到这里了,代码截图如下:

在这里看到 使用new Request.Builder();方法实例化了一个请求对象builder2,然后builder2.addHeader(),又不断添加几个请求头,其中有一个就是"sign"参数,sign的值又是这个方法 com.feigua.androiddy.b.a.a(hashMap, d2, currentTimeMillis + "")返回来的,没错这里就是真正的加密地方(ps:因为我提前确认过了)。

继续跟进去,看看com.feigua.androiddy.b.a.a()方法咋实现的。


大致看了下java的伪代码,这里定义了一个a方法,分别传入三个参数,一个是hashMap,另外2个都是str字符串。然后首先声明了一个stringBuffer 对象,然后拼接一个盐值,之后向hashmap添加了 SessionIdPlatformts 时间戳,再之后把传入的参数排个序,拼接成个字符串,最后走了一个i.a(stringBuffer.toString())方法。

这个i.a()方法是个啥?跟进去看看,来到这里。

看关键词md5,很明显这就是md5加密,正好和抓包的sign=71340D7922D7B7BEC476F49F5AEEC32C 32位长度一致。

3. frida动态调试

打开frida服务,运行命令: frida -U com.feigua.androiddy -l hook_sign.js

js命令如下:

Java.perform(function(){var a = Java.use('XXXXXXXXXXXX');a.a.implementation = function(parm1, parm2, parm3){console.log("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓");console.log("a方法参数1:", parm1);var hashmap_str = "";var it = parm1.keySet().iterator();while(it.hasNext()){var keystr = it.next().toString();var valuestr = parm1.get(keystr).toString();hashmap_str += keystr + "=" + valuestr + "&";}console.log("a方法参数1转str:", hashmap_str);console.log("a方法参数2:", parm2);console.log("a方法参数3:", parm3);var result = this.a(parm1, parm2, parm3);console.log("a方法加密结果:", result);console.log("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑");return result};
});

效果如下图所示:

处理的逻辑并不是很复杂,接下来python还原一下,响应数据也拿到手:

完事,手工,下一个。

某瓜数据之sign参数分析相关推荐

  1. JS逆向加密——某宝sign参数分析

    某宝sign参数分析 这里只做分析用途, 作为学习和交流 !!!! 1. 抓包分析  (这里是店铺搜索来作为分析) 多抓几次 包对比 动态变化的参数 : page  页数 q 搜索关键字 t 时间戳 ...

  2. 飞瓜快数app之sign参数分析

    趁着还有一些记忆,赶紧记录下. 今天我们要分析的app 是飞瓜快数,版本号v1.0.8 ,小伙伴们可以去各大应用商定自行下载. 只做参数分析,用来学习,如有侵权,请联系博主,第一时间删除. 转载请注明 ...

  3. 京东sign参数分析

    京东sign 在APP中的 算法分析 京东APP中,为了校验请求的完整性,大部分请求的url中都带了一个 sign参数,下面是一个Android客户端APP请求的抓包信息: 通过工具反编译后分析jav ...

  4. js 破解,爬取淘鲜达,盒马商品sign参数破解

    通过抓包获取详情页得到商品网址 https://market.m.taobao.com/app/locallife/app-taoxianda-detail/detail?spm=a21zu.8430 ...

  5. 2019年末逆向复习系列之淘宝M站Sign参数逆向分析

    郑重声明:本项目的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,因为滥用技术产生的风险与本人无关. 这篇文章是<2019年末逆向复习系列>的第一篇:< ...

  6. 【报告分享】小红书平台2021 11.11期间行业投放分析报告-千瓜数据(附下载)

    摘要:随着平台多元化发展,用户体量增加,小红书逐渐拥抱了更多的年轻用户群体,也给更多的品牌带来了增长机会.据小红书方透露,2021年小红书平台的单日笔记曝光已经超100亿次,且男性用户占比已经达到了3 ...

  7. 2021最新某团_token参数分析、可获取商家列表、商家详情数据

    抓包分析以下,有一个关键参数_token 我们查看下调用流程,点击Initiator 从上图我们看到了我们抓包的接口,点进去继续分析. 点进去之后我们直接定位到了_token 关键字,可以看出_tok ...

  8. 贝壳app Authorization参数分析

    嗯,2021年快结束了,学习忙碌一年了,年底了写点文章,总结性学习成果吧! 今天我们要分析的app是贝壳 版本号:v2.66.0,小伙伴们可以去各大应用商定自行下载,也是一个很好的逆向分析案例. 转载 ...

  9. 怎么获取codeforces的数据_飞瓜数据5大功能盘点,帮你抓住2019抖音新一波涨粉红利期!...

    在过去的一年中,短视频产业全面进入高速运作的模式,我们飞瓜数据为了更好的服务抖音短视频运营,覆盖抖音各个方面的数据,为抖音运营者提供从内容到电商运营整个产业链过程中所涉及的服务数据平台. 如何让更多用 ...

最新文章

  1. Android USB转串口通信开发实例详解
  2. Windows7修改hosts提示:您没有权限在此位置中保存文件
  3. 设计模式的七大设计原则:其一:单一职责原则
  4. Ubuntu 16.04 用apt-get来安装Java
  5. python selenium加速_selenium2.0环境搭建(一)
  6. Java基础知识强化38:StringBuffer类之StringBuffer的添加功能
  7. DirectShow Filter 开发典型例子分析 ——字幕叠加 (FilterTitleOverlay)1
  8. HCS12XEP100 ADC与SCI2的冲突解决 (2011-4-15)
  9. IBM公布未来5年将改变人类生活的五大科技
  10. python删除标点_python – 使用pandas快速删除标点符号
  11. PLUPLOAD插件 ━━ 上传总结(分片上传,php后端处理)
  12. 惊人的磁场定律:你是谁,就会遇见谁
  13. 【总结】最近写代码的思考与总结
  14. TensorFlow镜像安装(Anaconda)
  15. 父组件访问子组件的方法或参数 (子组件暴漏出方法defineExpose)
  16. SEO人员快速提升关键词优化排名的方法
  17. BST、AVL、BTree、B+Tree、B*Tree、23Tree、234Tree、TTree、RBTree、LLRBTree、AATree、SplayTree、Treap、无旋Treap、scap
  18. 问世到现在电子计算机的性能,一级计算机练习.doc
  19. 一图解说JAVA的项目结构
  20. flex中的flex-grow、flex-shrink、flex-basis及缩写属性flex的使用场景

热门文章

  1. 微服务和其他常见架构
  2. Eureka简介与Eureka Server上
  3. php文件上传指定路径,php上传文件到指定文件夹
  4. Java官方相关资源文件的获取教程
  5. 200801一阶段1函数封装
  6. Linux--结构体的详细学习
  7. ScrollView(RecyclerView等)为什么会自动滚动原理分析,还有阻止自动滑动的解决方...
  8. java---随机小结
  9. 网站防止SQL注入方法
  10. Atitit usrQBK1600 技术文档的规范标准化解决方案