小程序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函数内部,可以看到其加密代码的具体实现。其中明确发现是对一个字符串与时间戳进行AES加密得出xcxCode的结果,如图:

(四)找到xcxCode进行AES加密的参数

六、结果运行测试

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

posted @   牛奶糖牛奶  阅读(54)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示