dj114ddd / xiaohongshu_x_sign

详细讲解通过反编译某红书微信小程序,逆向生成x-sign参数获取数据。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xiaohongshu_x_sign

详细介绍通过反编译某红书微信小程序,逆向生成x-sign参数获取数据。

1、打开抓包工具Fiddler或者Charles,选中一个用户进入主页,在Fiddler找到数据包。 1

2 每次请求返回6条信息流,其中包含了我们想要的图片链接;当我们在小程序里不断往下滑动时,新的请求就会发送获取更多的信息流。我们要做的就是提取请求的参数,模拟发送请求、爬虫抓取返回结果、提取图片链接就ok了。

3 看文章的各位可能也只是看个题目,所以这里可以放具体代码了,上面的图片可以写出来发送请求的参数,经过测试,参数里面有个比较麻烦的"签名参数" x-sign,这里着重说下:

4 在网上搜相关内容的时候,确实有很多大牛把这个参数破解掉了:它的格式是X加32位的16位字符,32位16位字符通常字符是MD5位字符之后得到的,所以也比较容易听。不过吧,涉及到什么问题,还需要私下联系作者,还需要收费。

5 因为可能使用md5算法对部分值处理后的参数得到结果,具体确定要得到源码才能得到加密思路,之所以选择微信小程序,是因为小程序通过反编译是比较容易得到源码的(就算不是完整源码,但基本参数逻辑相差无几,可以定位的)

一.反编译小红书微信小程序

1 第一步是反编译小红书小程序,定位到其x-sign参数生成的源码。这里反编译小程序我是参考如下帖子:

2 https://juejin.cn/post/7002889906582192158

3 大致流程是在登录电脑版微信,打开小红书小程序,找到小程序文件的目录,先解密再反编译,获取到小程序处理后的源码。

二.源码中搜索目标参数

1 反编译后的文件如下图所示

4

2 用vs code 打开,因为我们想获取X-Sign,所以直接全局搜索。

5

3 顺着相关的函数名一路找下去,会逐渐发现它是把请求的参数进行拼接,再组合某个固定字符串后进行 MD5 处理,最终再开头加个大写的 X 构成 x-sign,整个过程和初始猜测是一致的。

6

4 用Python生成X-Sign参数

7

5 最后展示获取数据和图片结果

8

9

About

详细讲解通过反编译某红书微信小程序,逆向生成x-sign参数获取数据。