小程序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

相关推荐

  • IDEA 2024.1.2 激活破解指南,附IDEA激活码+工具,亲测有效

    IntelliJ IDEA 是一个广受认可的 Java 集成开发环境,被认为是最好的 Java 开发工具之一。本文将分享如何通过脚本免费激活 IDEA 及其他 Jetbrains 全家桶工具,支持 2021 及以上版本,包括最新版本。 一、下载并安装 IDEA 首先,前往 JetBrains 官网下载最新版本的 IDEA。安装过程十分简单,按照提示一步步进行…

    未分类 2024 年 7 月 15 日
    1.1K00
  • Java刷题常见的集合类,各种函数的使用以及常见的类型转化等等

    目录 前言 集合类 ArrayList 1. 创建和初始化 ArrayList 2.添加元素 add 3.获取元素 get 4.删除元素 remove 5.检查元素 6.遍历 ArrayList LinkedList Stack 1. 创建Stack对象 2. 压入元素 (push) 3. 弹出元素 (pop) 4. 查看栈顶元素 (peek) 5. 检查栈…

    2025 年 1 月 6 日
    35600
  • 基于Java的世界时区自动计算及时间生成方法

    目录 前言 一、zoneinfo简介 1、zoneinfo是什么 2、zoneinfo有什么 二、在Java中进行时区转换 1、Java与zoneInfo 2、Java展示zoneInfo实例 3、Java获取时区ID 三、Java通过经纬度获取时区 1、通过经度求解偏移 2、通过偏移量计算时间 3、统一的处理算法 四、总结 前言 在全球化浪潮的推动下,IT…

    2024 年 12 月 27 日
    35900
  • WxPython跨平台开发框架之使用PyInstaller 进行打包处理

    使用PyInstaller 打包Python项目是一个常见的需求,它可以将Python程序及其所有依赖项打包成一个独立的可执行文件或者安装文件,方便在没有安装Python环境的机器上运行。本随笔介绍WxPython跨平台开发框架中使用PyInstaller 进行打包处理,包括在WIndow平台下生成独立的exe文件,松散结构的exe文件和目录,以及在MacO…

    2025 年 1 月 11 日
    40100
  • manim边学边做–改变动画速度

    ChangeSpeed类是Manim库中用于修改动画速度的类。 它提供了一种灵活的方式来控制动画的播放速度,使动画在不同时间段内以不同的速度播放,从而创造出更加丰富多样的动画效果。 比如,在创建包含多个元素动画的场景中,通过ChangeSpeed可以精确控制不同元素在不同时间点的移动速度,实现复杂的动画节奏编排。 1. 动画概述 与之前介绍的那些动画类不同,…

    2025 年 1 月 1 日
    36300

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信