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

相关推荐

  • 【JavaSE】【网络协议】HTTP 请求和响应

    一、HTTP请求 1.1 请求格式 请求格式:首行+请求头(header)+空行+正文(body) 1.2 首行组成 首行组成:请求方法+URL+版本号。使用“空格”将他们分隔开。 1.2.1 请求方法 方法 说明 支持的HTTP版本 GET 获取资源 1.0 1.1 POST 传输实体主体 1.0 1.1 PUT 传输文件 1.0 1.1 DELETE 删…

    2025 年 1 月 14 日
    61600
  • SpringMVC-08-拦截器

    1、拦截器概述 在SpringMVC框架中,处理器拦截器扮演着与Servlet过滤器(Filter)相似的角色,它们负责对处理器(Handler)进行预处理和后处理。开发者可以自定义拦截器以实现特定的业务需求。 过滤器与拦截器的主要区别: 过滤器 是servlet规范的一部分,适用于任何JavaWeb项目。 通过在url-pattern中配置/*,可以对所有…

    未分类 2024 年 12 月 24 日
    66200
  • ChatGPT Plus开通会员订阅国内方法

    国内用户搜索 ChatGPT 充值,大多是因为不想研究海外信用卡。只要能保留自己的原账号,用熟悉的微信或支付宝付款,整个开通过程就会轻很多。下面按实际充值顺序整理,适合没有海外信用卡、但希望自己账号升级 Plus 的用户。

    未分类 2026 年 7 月 11 日
    7700
  • ChatGPT Plus国内支付订阅开通教程

    很多人已经有 ChatGPT 账号,但到了开通 Plus 时才发现,真正麻烦的不是登录,而是付款方式。国内用户如果没有海外信用卡,官方订阅页面往往不太好处理;再去研究虚拟卡、礼品卡或共享账号,又会多出不少额外步骤。ChatGPT Plus国内支付订阅开通教程 这类需求,本质上就是想把会员开到自己的原账号里,同时用国内更熟悉的支付方式完成。

    未分类 2026 年 6 月 30 日
    7000
  • 一问一答学习PyQT6,对比WxPython和PyQt6的差异

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

    2025 年 1 月 15 日
    66800

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信