九天猎人 发表于 2024-12-17 21:23:45

小程序xcxCode逆向分析

数据爬取与xcxCode逆向分析

一、声明

本文章中所有内容仅供学习交流利用,不用于其他任何目的。不提供完备代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切效果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次流传,私自利用本文讲解的技能而导致的任何不测,作者均不负责。文章为原创内容,作者为小白,不喜勿喷。
二、工具介绍


[*]mitmproxy:
主要用于数据抓包,在数据获取与分析过程中发挥着关键作用,能够资助我们拦截和检察网络请求及相应等相关信息,小程序抓包很好用
[*]WeChatOpenDevTools-python:(逆向工具)
这一工具在整个分析流程中也有偏重要用途,它可以辅助我们更好地对微信小程序相关内容进行调试、分析,比如检察小程序内部的页面结构、代码逻辑以及各种交互情况等,为我们深入探究小程序中像xcxCode这类关键元素的生成和运行机制提供了便利的开发调试环境。
三、xcxCode根本特征

在进行数据爬取工作时,发现请求头中的xcxCode具有动态变化的特性。经过一段时间后,若xcxCode未精确更新,则无法返回数据。其加密范例为:一个自定义的字符串与时间戳生成的字符串,然后进行AES加密从而生成xcxCode。
四、逆向目标

本次的逆向目标即为xcxCode,旨在探究其生成的详细逻辑与加密过程,以便在合法合规的学习研究范围内实现数据的精确爬取与处理。
五、寻找过程

(一)找到发送请求位置(xcxCode未生成)

一般采用xhr断点大概栈跟踪的方法来寻找目标链接。在较为简单的情况下,xcxCode相关的操纵通常出现在创建请求时,对于一些关键字如“request”等需要特别留意。若难以直接找到,可以渐渐排查大概的位置并打上断点,观察xcxCode的值是否存在。比方,在某次分析中,通过相关操纵找到了发送请求的位置,此时xcxCode尚未生成,如图所示:
https://img2024.cnblogs.com/blog/3286466/202412/3286466-20241217220000769-715906477.png
(二)进入函数内部寻找xcxCode

在确定发送请求位置后,进入相应的函数内部进一步探寻xcxCode的踪迹。通过深入函数内部的代码逻辑分析与调试,终极找到了xcxCode的生成位置,如图:
https://img2024.cnblogs.com/blog/3286466/202412/3286466-20241217220324993-810762097.png
(三)进入xcxCode函数找出加密代码

继续深入到xcxCode函数内部,可以看到其加密代码的详细实现。其中明确发现是对一个字符串与时间戳进行AES加密得出xcxCode的效果,如图:
https://img2024.cnblogs.com/blog/3286466/202412/3286466-20241217220628661-1278253490.png
六、效果运行测试

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 小程序xcxCode逆向分析