点点数据JS逆向:k值加密扣webpack代码和纯算实现

点点数据JS逆向:k值加密扣webpack代码和纯算实现

在这里插入图片描述


目录

  • 🔍 接口分析、请求参数与加密k值的发现
  • 🚀 异步堆栈与XHR断点调试
  • 🎯 onRequest函数的条件断点分析
  • 🧩 M方法的加密处理揭秘
  • 🔍 Object(y.a)方法与k值生成过程
  • 🕸️ 扣Webpack代码实现
  • 🔍 纯算实现
  • 🐍 Python调用

🔍 接口分析、请求参数与加密k值的发现

ASA关键词接口是DianDianData中一个核心的API,主要用于获取关键数据。通过数据包分析,可以捕获asm_words接口的响应数据,从中提取到目标信息。在对接口请求进行分析时,注意到一个关键的k值,这个值在传递过程中被加密处理。该参数在最终请求中扮演了重要角色,且直接影响响应结果的准确性。
在这里插入图片描述

🚀 异步堆栈与XHR断点调试

在调试过程中,通过设置XHR断点,捕捉到了请求的发送过程。
在这里插入图片描述

此时,浏览器执行了一系列异步堆栈操作,这是现代网页设计中的常见模式,帮助优化用户体验。
在这里插入图片描述

🎯 onRequest函数的条件断点分析

为了更精准地定位加密操作,通过追踪异步堆栈,锁定了onRequest函数。在请求发送之前,该函数会对参数进行处理,通过设置条件断点,可以在执行加密逻辑之前中断操作。
在这里插入图片描述

🧩 M方法的加密处理揭秘

在onRequest函数内部,找到一个关键的M方法。该方法对请求参数进行了加密处理。
在这里插入图片描述

🔍 Object(y.a)方法与k值生成过程

进一步深入分析,发现k值的生成与Object(y.a)方法密切相关。该方法接收了多个参数,其中包括请求参数r、请求路径path以及前面传递的n字典。需要跟踪这些参数的传递和处理,还原k值生成的完整过程。
在这里插入图片描述

🕸️ 扣Webpack代码实现

点点数据是webpack打包,虽然可以选择整体扣取代码并补充相应的环境来进行分析,但由于该案例中文件数量较多,且被拆分为几十个js文件,代码的处理工作量较大。因此,建议使用插件来辅助分析,以提高工作效率。
在这里插入图片描述

🔍 纯算实现

分析加密的具体流程,对于该接口,也可以自己使用JS还原加密过程,这个更加轻巧但是难度相对前一种会大一点,大概只有几十行代码。
在这里插入图片描述

🐍 Python调用

最后,将上述加密逻辑通过Python代码进行实现。
在这里插入图片描述
结果展示:
在这里插入图片描述


  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Switch616

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值