当前位置: 首页 > news >正文

点点数据人均启动接口逆向实录:你以为在解密,其实你在读 Protobuf

文章目录

    • 声明
    • 前言
    • 一、第一步先别急着脑补
    • 二、先打请求,马上遇到第一个坑:`k` 的路径错一位,全盘皆输
      • 2.1 错误的直觉
      • 2.2 正确的签名路径
    • 三、真正的破案时刻:它不是加密文本,它是二进制 `protobuf`
      • 3.1 怎样快速判断不是 AES 密文
      • 3.2 前端关键证据
        • 证据一:接口响应被当成 `arraybuffer`
        • 证据二:响应被 `protobuf` 模型解码
    • 四、前端不是只告诉你“它是 Protobuf”,还告诉你“数据怎么还原成业务值”
    • 五、手撕这个 Protobuf:不用 `.proto`,照样把结构摸出来
      • 5.1 顶层结构
      • 5.2 `data` 层结构
      • 5.3 单条 item 结构
      • 5.4 为什么 `stats_raw` 和 `avg_stats_raw` 是 packed varints
    • 六、这次逆向最重要的心法:先最小可用,不要一上来建帝国
    • 七、纯 Python 落地方案长什么样
      • 7.1 `k` 参数生成
      • 7.2 响应解析
      • 7.3 业务字段转换
      • 7.4 时钟偏移容错
      • 参考python代码
    • 八、现场样本:解出来的数据长什么样
      • 8.1 主应用某月数据
      • 8.2 对比应用某月数据
    • 九、结语

声明

本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除!

前言

这次需求是有人找我做的,没想到我新的账号还没权限看,开会员还要好几千一个月,那还是拉倒吧,直接给大哥说分析不了,没权限,大哥二话不说直接找公司商务要了个会员号给我分析,所以才有的这篇文章。

这次目标很明确:

  • 页面主页:https://app.diandian.com/app/q4kdipukpzo9twn/googleplay-perstarts?...
  • 目标接口:https://api.diandian.com/pc/app/v2/stat/frequency/avg/month

  • 最终诉求:把“响应体数据解密”完整还原

  • 已知条件:请求里的k参数我们已经逆出来了,算法过程可以看 点点数据 k参数逆向实战:别怕,它不是

http://www.cnnetsun.cn/news/2713657.html

相关文章:

  • Audiveris终极指南:10分钟学会将纸质乐谱转为可编辑数字格式
  • 告别命令行!RedisInsight 2.0保姆级安装与连接Redis数据库实战(Windows/Mac/Linux)
  • 2026年适配知网降AIGC网站横评:亲测8款工具,将AIGC特征彻底弱化淡化
  • 基于RAG的智能问答系统:从原理到实践,构建企业知识大脑
  • 如何快速掌握AI视频生成:面向创作者的完整指南
  • Overleaf字体避坑指南:为什么你的 extbf{}加粗没效果?可能是 amilydefault在搞鬼
  • Vivado 2023.2 实战:手把手教你封装一个带LED闪烁功能的AXI-Lite IP核
  • 用Arduino和光敏电阻模块DIY一个天黑自动亮的小夜灯(附完整代码)
  • Obsidian插件翻译终极指南:3种智能解决方案让英文插件秒变中文
  • 3分钟免费获取macOS鼠标指针:Windows和Linux用户的桌面美化神器
  • 音频编辑成本高、操作复杂?Audacity免费开源音频编辑器让你轻松搞定专业级音频处理
  • Cocos Creator开发者看过来:如何把Tiled编辑器做的.tmx地图无缝用到你的项目里?
  • PHP数据同步与CDC变更数据捕获
  • 别再只调参了!深入MAE源码,手把手教你如何将它适配到自己的主干网络(以ResNet为例)
  • 如何快速部署AI编程助手:OpenCode 5分钟配置终极指南
  • 告别云打包!用Android Studio离线打包UniApp APK的保姆级避坑指南
  • Java面试必问的10大核心问题及高分回答技巧
  • 后端开发框架选型指南:SpringBootvsDjango
  • AI语音合成将如何重塑内容产业?:7大颠覆性趋势+3类已验证商业场景(附2025技术成熟度曲线)
  • PS2手柄通信时序详解:为什么你的STM32F407读取会出错?一个延时引发的血案
  • Arduino Leonardo打造LCD倒计时秒表:从状态机到非阻塞延时实战
  • Python+Hadoop+Hive+Spark音乐排行榜数据分析系统源码+论文
  • VoiceFixer:音频增强工具终极指南,一键解决语音质量问题
  • 5步完整方案:Cursor Pro永久免费使用终极指南
  • 从零开始:如何为qBittorrent编写自定义搜索插件
  • 告别Windows编译慢!在Ubuntu 22.04上从源码编译Chrono Engine全模块(含Irrlicht可视化)
  • Arduino倒计时器实战:从硬件连接到状态机编程
  • 别再乱选预处理器了!Stable Diffusion ControlNet Tile模型三大预处理器实战对比(附高清对比图)
  • MiddleClick-Sonoma终极指南:三指点击实现滚轮点击的完整教程
  • 技术驱动财务转型:从流程自动化到智能决策的实战架构