小程序xcxCode逆向分析

数据采集与xcxCode解密分析

一、声明

本文旨在提供学术交流,不应用于其他任何场合。文章中不包含完整代码,所有涉及的数据包内容、敏感网址和数据接口均已进行脱敏处理,严禁用于商业或非法活动,由此引起的后果与作者无关。未经授权,禁止转载或修改后传播本文,作者不承担因使用本文技术导致的任何后果。本文为原创,作者署名为小白,敬请尊重。

二、工具介绍

  1. mitmproxy
    此工具在数据采集与分析中扮演着核心角色,它能够拦截和查看网络请求及响应信息,特别适用于小程序的数据包捕获。

  2. WeChatOpenDevTools-python
    逆向分析工具
    该工具在分析过程中同样不可或缺,它帮助我们调试和分析微信小程序,包括查看小程序的页面结构、代码逻辑和交互行为等,为深入了解小程序中xcxCode等关键元素的生成和运行机制提供了便利的开发调试环境。

三、xcxCode的基本特性

在数据采集过程中,我们注意到请求头中的xcxCode具有动态变化的特点。如果xcxCode未能及时更新,将无法获取数据。其加密方式为:将自定义字符串与时间戳结合,然后通过AES加密生成xcxCode

四、逆向分析目标

本次逆向分析的核心目标是揭示xcxCode的生成逻辑和加密流程,以便在合法合规的学术研究范围内实现数据的正确采集与处理。

五、寻找过程

(一)定位请求发送点(xcxCode未生成)

我们通常使用xhr断点或栈跟踪来定位目标链接。在较为简单的场景中,xcxCode的操作通常在请求创建时出现,需要特别关注“request”等关键字。如果难以直接定位,可以逐步排查可能的位置并设置断点,观察xcxCode是否存在。例如,在一次分析中,我们通过相关操作找到了请求发送的位置,此时xcxCode尚未生成,如下图所示:
小程序xcxCode逆向分析

(二)深入函数内部寻找xcxCode

确定请求发送位置后,我们进一步深入函数内部寻找xcxCode的踪迹。通过深入分析和调试函数内部的代码逻辑,我们最终定位到了xcxCode的生成点,如下图所示:
小程序xcxCode逆向分析

(三)深入xcxCode函数内部分析加密代码

继续深入xcxCode函数内部,我们可以观察到其加密代码的具体实现。我们明确发现,xcxCode是通过将一个字符串与时间戳进行AES加密得到的,如下图所示:
小程序xcxCode逆向分析

(四)确定xcxCode的AES加密参数

小程序xcxCode逆向分析

六、结果运行测试

我们将相同的数据在在线AES测试平台进行测试,如果得到的结果与实际采集过程中的xcxCode一致,那么恭喜,此次逆向分析成功。这一步骤是对之前逆向分析结果的验证,确保我们所揭示的xcxCode生成逻辑与加密流程的准确性,以便在后续合法的数据采集与处理工作中能够正确应用。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4398.html

(0)
LomuLomu
上一篇 2024 年 12 月 26 日 上午3:20
下一篇 2024 年 12 月 26 日 上午4:21

相关推荐

  • 交易系统:退款单模型设计详解

    大家好,我是汤师爷~ 和退款单作为整个交易逆向系统的核心,支撑着售后管理环节。 售后域核心概念模型 1、退款单 退款单是记录和跟踪退款处理过程的核心业务单据,包含以下关键信息: 租户ID:标识所属商户或组织 退款单ID:退款单的唯一标识 原订单ID:关联的原始订单 业务类型:仅退款、退货退款等 退款类型:如全额退款、部分退款、按商品退款等 创建时间:退款单生…

    2025 年 1 月 6 日
    25100
  • 一问一答学习PyQT6,对比WxPython和PyQt6的差异

    在我的基于WxPython的跨平台框架完成后,对WxPython的灵活性以及强大功能有了很深的了解,在跨平台的桌面应用上我突然对PyQt6的开发也感兴趣,于是准备了开发环境学习PyQt 6,并对比下WxPython的差异来进行深入的了解,发现它们很多理念和做法是如此的类似。 1、pyqt6都有那些布局控件? PyQt6 提供了多种布局控件,帮助开发者轻松地将…

    2025 年 1 月 15 日
    45000
  • java: JDK isn‘t specified for module ‘product-service‘问题解决

    目录 问题 解决方法 1.打开File->Project Structure… 2.将Project SDK修改为17 Oracle OpenJDK 17.0.12,并Apply,OK 问题 添加module后报错:java: JDK isn’t specified for module ‘product-service’ 查看pom.xml文件也添加了…

    2025 年 1 月 21 日
    51400
  • Java-学生管理系统[初阶]

    让我们来探索如何使用Java语言构建一个基础的“学生信息管理系统”。这个系统将允许我们管理学生的基本信息,包括添加、删除、修改和查询学生数据。接下来,我们将分步骤实现这个系统,并在后续的文章中探讨如何为其添加模拟登录功能。 基础版学生管理系统 在深入代码之前,我们需要掌握以下Java编程基础: Java的输入输出操作 Java的分支与循环结构 Java数组的…

    未分类 2024 年 12 月 27 日
    33900
  • 永久IDEA破解教程,亲测有效。适用于IDEA2024最新版本

    IntelliJ IDEA 是 Java 开发语言的集成开发环境,被公认为最出色的 Java 开发工具之一。本文将分享如何通过脚本免费激活 IDEA 及 Jetbrains 全家桶工具,支持 2021 以上版本包括最新版本。 一、下载并安装 IDEA 首先,前往 JetBrains 官网下载最新版本的 IDEA。安装过程非常简单,按照提示一步步操作即可。 二…

    未分类 2024 年 7 月 15 日
    2.3K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信