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

相关推荐

  • 2025新春源码免费送

    我们常常在日常生活中感到时间过得异常缓慢,仿佛未来遥不可及。然而,当我们回过头去审视过去,才发现时间早已悄然溜走,许多曾经等待的日子已经过去。时间总是在不经意间流逝,让人意识到它的宝贵和不可逆转。 尽管如此,我们依然应对未来保持从容的态度。生活充满了无数的可能性,未来依然充满了希望与机会。无论眼前的路看似如何曲折,抑或我们面临的挑战有多大,始终相信自己能够把…

    2025 年 1 月 10 日
    39600
  • 数据结构-8.Java. 七大排序算法(下篇)

    ![排序算法图解](https://pic.it1024doc.com/csdn/202412/e7a5ab870db2dde966e37f2c83a37ae4.jpeg) > 本文将深入探讨排序算法的核心概念,由于篇幅限制,我们将分两部分进行讨论。今日的主题是归并排序,以及快速排序的非递归实现技巧。 > 专栏:Java-**数据结构** > 如有疑问,请在…

    2024 年 12 月 27 日
    34400
  • 常见的图形库对比 Echarts Highcharts AntV

    图形库 图形库 特点 图表类型 适用场景 依赖项 官网/文档 ECharts 功能丰富,支持大规模数据,交互性强 折线图、柱状图、饼图、地图、雷达图、散点图、热力图等 复杂数据可视化 无 https://echarts.apache.org/ Chart.js 简单易用,轻量级,支持响应式设计 折线图、柱状图、饼图、雷达图、散点图等 简单图表,快速开发 无 …

    未分类 2025 年 1 月 12 日
    45600
  • Mysql身份认证过程

    背景 最近有一些hersql的用户希望能支持mysql的caching_sha2_password认证方式,caching_sha2_password与常用的mysql_native_password认证过程差异还是比较大的,因此抽空研究了一下caching_sha2_password身份认证过程,并为hersql支持了caching_sha2_passwo…

    2025 年 1 月 15 日
    50100
  • 《深入理解Mybatis原理》Mybatis中的缓存实现原理

    一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我们在极短的时间内做了完全相同的查询,那么它们的结果极有可能完…

    2025 年 1 月 14 日
    48700

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信