记一次反编译”短视频直链提取“小程序 拿到接口的过程
本文最后更新于 73 天前,其中的信息可能已经有所发展或是发生改变。

前文

最近做了一个小项目,做个批量提取 某音/某手/某书/视频号/头条 等平台的无水印视频、逐帧转换成图片的软件。

抖音可以直接抓官方接口,但是要求登录拿到Cookie,比较稳定,就不多说了直接用。

视频号无解,微信PC加密搞不定,直接拿GitHub上的成品先下载出来视频再保存到指定路径一键读取。

头条也有官方接口而且不用登陆,属于是非常良心了。

快手/小红书,你们的前端加密搞得真的牛批,搞不了一点。浏览器模拟成本太高,直接拿网上的解析工具对接。

这个解析平台接口有一个很简单的JS加密,几分钟搞定。但是他每天限制30次,客户又需要大批量的下载视频,所以不能用他了……

r是随机字符 e是md5(URL+@&^+r),属于是非常基础的验签了。

搞小程序

客户发了一个解析助手小程序,可以提取很多短视频平台的链接,又不限制次数不用登录,于是决定抓他的接口。

方法1-抓包!

  1. 使用 Proxifier 转发 Wechatappex.exe 的流量到 Fiddler 监听的 8888 端口,失败(只能看到Host)!
  2. 改用 Wireshark、Burp Suite,失败(全是只能看到Host 连URI都看不到)!
  3. iOS端设置Proxy,用Fiddler、Wireshark、Burp Suite,均失败!

方法2-反编译拿到源码

使用Github上的项目 https://github.com/system-cpu/wxappUnpacker 可以反编译小程序包文件,阅读源码 里面肯定有请求信息!

第一步,安装 NodeJS。

第二步,设置npm国内源(此处出现证书错误 需要设置忽略SSL证书)。

第三步,npm install 漫长等待。

第四步,node wuWxapkg.js D:\WechatFiles\WeChat Files\Applet\xxxxxxxx\3\__APP__.wxapkg。

芜湖,失败。

查阅资料发现 PC小程序包加密了

找到另一个项目 https://github.com/maotoumao/wxpc-miniprogram-decryption 可以解密小程序包,然后再反编译即可。

第一步,npm install。

第二步,node wxmd.js [APPID] D:\WechatFiles\WeChat Files\Applet\xxxxxxxx\3\__APP__.wxapkg

成功拿到 decrypt_xxxxxxx.wxapkg 文件,再去反编译,又失败了。

不再折腾 直接看WXAPKG

解密完成后,拿一个在线16进制编辑器(我这里用hexed.it)就可以看到源码了,虽然很乱。

搜索抓包拿到的域名Host,最终找到一个 extractVideoInfo 函数,发送 {linkData:”XXX”} 格式的JSON数据到一个云函数的地址,这个就是我们需要的解析接口了。

把这部分JS全部COPY下来到VS CODE中分析。

我把其中的变量 a,b,c,d,xxx 都替换了,现在阅读起来很直观。

接口会加入 appId(小程序包目录名就是) version timestamp nonceStr 等参数 并且用这个生成sign签名,我们再去源码里搜索 generateSignature 这个函数,此处省略 我把它用PHP重写了一遍(chatgpt的功劳)。

完成

把这个接口搬到了PHP里面,现在可以直接用我的接口去解析视频信息啦。

悲报

搞了这么半天发现,这接口根本没有验证签名,只需要POST带上参数JSON就能用,不验证appid sign那些参数。捏麻的,源码里写的那么详细严谨 后端啥也没有。

评论

  1. Avatar photo
    2 月前
    2024-3-01 2:44:57

    我去,小程序还活着呢

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇