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

相关推荐

  • 深入解析Java泛型类型擦除机制及其应用场景

    Java泛型中的类型擦除机制是语言设计的关键特性,它在编译阶段会将泛型参数信息转换为原始类型(通常为Object),同时自动插入必要的类型转换代码。这种设计既保证了与早期Java版本的兼容性,又实现了编译时的类型安全检查。 类型擦除机制解析 编译期类型验证: 编译器利用泛型参数进行严格的类型校验,防止类型不匹配的操作。比如禁止向声明为String类型的集合中…

    2025 年 5 月 12 日
    37800
  • keycloak~巧用client-scope实现token字段和userinfo接口的授权

    keycloak中的client-scope允许你为每个客户端分配scope,而scope就是授权范围,它直接影响了token中的内容,及userinfo端点可以获取到的用户信息,这块我们可以通过自定义scope/mapper,来实现粒度的控制,并且这个mapper可以控制添加到token,或者添加到userinfo端点,这两块配置也是独立的,下面我们通过一…

    2025 年 1 月 16 日
    65100
  • 2025新春源码免费送

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

    2025 年 1 月 10 日
    44400
  • 华为OD机试E卷 –羊、狼、农夫过河–24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。农夫有一艘容量固定的船,能够承载固定数量的动物。要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算农夫去对岸的次数,回程时…

    未分类 2025 年 1 月 19 日
    59100
  • 比想象中更复杂一点的MySQL Slow Query Log

    1. 问题概述 在分析 Slow Query Log 时,记录下的SQL语句,明明会对一张表执行全表扫描,可为什么慢日志中的 Rows_sent 、Rows_examined 和表的真实记录数也是不一样,甚至相差N多倍。还有一个细节就是上述的SQL语句,执行多次,在慢日志中记录下多条记录,记录之间Rows_sent 、Rows_examined也差别明显。 …

    未分类 2025 年 1 月 14 日
    62600

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信