Open luochaolun opened 10 months ago
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。
方法如下:
fork 一个本仓库,修改 App.jsx
文件:
在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。
<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea>
<Button
icon={<DownloadOutlined />}
type="primary"
onClick={() => {
const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value)
send({
type: 'e_下载',
url,
decodeKey,
description,
});
}}
size="small"
>
解密下载
</Button>
关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码
function send_response_if_is_video(response) {
let value = JSON.parse(response["jsapi_resp"]["resp_json"]);
// debug_wvds("send 2: " + JSON.stringify(value));
if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) {
return;
}
let media = value["object"]["object_desc"]["media"][0];
// debug_wvds("send 3: " + JSON.stringify(media));
let description = value["object"]["object_desc"]["description"].trim();
let video_data = {
"decode_key": media["decode_key"],
"url": media["url"]+media["url_token"],
"size": media["file_size"],
"description": description,
"uploader": value["object"]["nickname"]
};
setTimeout(() => {
alert(JSON.stringify(video_data))
console.log(video_data)
}, 1000)
}
function wrapper(name,origin) {
return function() {
let cmdName = arguments[0];
if (arguments.length == 3) {
let original_callback = arguments[2];
arguments[2] = async function () {
if (arguments.length == 1) {
send_response_if_is_video(arguments[0]);
}
return await original_callback.apply(this, arguments);
}
}
let result = origin.apply(this,arguments);
return result;
}
}
window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke);
window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。
方法如下:
- fork 一个本仓库,修改
App.jsx
文件: 在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea> <Button icon={<DownloadOutlined />} type="primary" onClick={() => { const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value) send({ type: 'e_下载', url, decodeKey, description, }); }} size="small" > 解密下载 </Button>
- 关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码
function send_response_if_is_video(response) { let value = JSON.parse(response["jsapi_resp"]["resp_json"]); // debug_wvds("send 2: " + JSON.stringify(value)); if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) { return; } let media = value["object"]["object_desc"]["media"][0]; // debug_wvds("send 3: " + JSON.stringify(media)); let description = value["object"]["object_desc"]["description"].trim(); let video_data = { "decode_key": media["decode_key"], "url": media["url"]+media["url_token"], "size": media["file_size"], "description": description, "uploader": value["object"]["nickname"] }; setTimeout(() => { alert(JSON.stringify(video_data)) console.log(video_data) }, 1000) } function wrapper(name,origin) { return function() { let cmdName = arguments[0]; if (arguments.length == 3) { let original_callback = arguments[2]; arguments[2] = async function () { if (arguments.length == 1) { send_response_if_is_video(arguments[0]); } return await original_callback.apply(this, arguments); } } let result = origin.apply(this,arguments); return result; } } window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke); window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
- 接下来把复制的信息(js 对象)粘贴到前面新加的输入框里点击下载,正常的话就可以下载了。
感谢大佬提供。
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。 方法如下:
- fork 一个本仓库,修改
App.jsx
文件: 在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea> <Button icon={<DownloadOutlined />} type="primary" onClick={() => { const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value) send({ type: 'e_下载', url, decodeKey, description, }); }} size="small" > 解密下载 </Button>
- 关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码function send_response_if_is_video(response) { let value = JSON.parse(response["jsapi_resp"]["resp_json"]); // debug_wvds("send 2: " + JSON.stringify(value)); if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) { return; } let media = value["object"]["object_desc"]["media"][0]; // debug_wvds("send 3: " + JSON.stringify(media)); let description = value["object"]["object_desc"]["description"].trim(); let video_data = { "decode_key": media["decode_key"], "url": media["url"]+media["url_token"], "size": media["file_size"], "description": description, "uploader": value["object"]["nickname"] }; setTimeout(() => { alert(JSON.stringify(video_data)) console.log(video_data) }, 1000) } function wrapper(name,origin) { return function() { let cmdName = arguments[0]; if (arguments.length == 3) { let original_callback = arguments[2]; arguments[2] = async function () { if (arguments.length == 1) { send_response_if_is_video(arguments[0]); } return await original_callback.apply(this, arguments); } } let result = origin.apply(this,arguments); return result; } } window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke); window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
- 接下来把复制的信息(js 对象)粘贴到前面新加的输入框里点击下载,正常的话就可以下载了。
感谢大佬提供。
我把这个功能做成 uTools 插件了,在 uTools 插件市场搜索 '微信视频号下载器' 可以找到
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。 方法如下:
- fork 一个本仓库,修改
App.jsx
文件: 在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea> <Button icon={<DownloadOutlined />} type="primary" onClick={() => { const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value) send({ type: 'e_下载', url, decodeKey, description, }); }} size="small" > 解密下载 </Button>
- 关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码function send_response_if_is_video(response) { let value = JSON.parse(response["jsapi_resp"]["resp_json"]); // debug_wvds("send 2: " + JSON.stringify(value)); if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) { return; } let media = value["object"]["object_desc"]["media"][0]; // debug_wvds("send 3: " + JSON.stringify(media)); let description = value["object"]["object_desc"]["description"].trim(); let video_data = { "decode_key": media["decode_key"], "url": media["url"]+media["url_token"], "size": media["file_size"], "description": description, "uploader": value["object"]["nickname"] }; setTimeout(() => { alert(JSON.stringify(video_data)) console.log(video_data) }, 1000) } function wrapper(name,origin) { return function() { let cmdName = arguments[0]; if (arguments.length == 3) { let original_callback = arguments[2]; arguments[2] = async function () { if (arguments.length == 1) { send_response_if_is_video(arguments[0]); } return await original_callback.apply(this, arguments); } } let result = origin.apply(this,arguments); return result; } } window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke); window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
- 接下来把复制的信息(js 对象)粘贴到前面新加的输入框里点击下载,正常的话就可以下载了。
感谢大佬提供。
我把这个功能做成 uTools 插件了,在 uTools 插件市场搜索 '微信视频号下载器' 可以找到
咋运转的啊,我把链接丢进去,咋没反应呢?
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。 方法如下:
- fork 一个本仓库,修改
App.jsx
文件: 在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea> <Button icon={<DownloadOutlined />} type="primary" onClick={() => { const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value) send({ type: 'e_下载', url, decodeKey, description, }); }} size="small" > 解密下载 </Button>
- 关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码function send_response_if_is_video(response) { let value = JSON.parse(response["jsapi_resp"]["resp_json"]); // debug_wvds("send 2: " + JSON.stringify(value)); if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) { return; } let media = value["object"]["object_desc"]["media"][0]; // debug_wvds("send 3: " + JSON.stringify(media)); let description = value["object"]["object_desc"]["description"].trim(); let video_data = { "decode_key": media["decode_key"], "url": media["url"]+media["url_token"], "size": media["file_size"], "description": description, "uploader": value["object"]["nickname"] }; setTimeout(() => { alert(JSON.stringify(video_data)) console.log(video_data) }, 1000) } function wrapper(name,origin) { return function() { let cmdName = arguments[0]; if (arguments.length == 3) { let original_callback = arguments[2]; arguments[2] = async function () { if (arguments.length == 1) { send_response_if_is_video(arguments[0]); } return await original_callback.apply(this, arguments); } } let result = origin.apply(this,arguments); return result; } } window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke); window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
- 接下来把复制的信息(js 对象)粘贴到前面新加的输入框里点击下载,正常的话就可以下载了。
感谢大佬提供。
我把这个功能做成 uTools 插件了,在 uTools 插件市场搜索 '微信视频号下载器' 可以找到
咋运转的啊,我把链接丢进去,咋没反应呢?
你是怎样的链接丢进去,要像下面这样的一段对象:
{"decode_key": "82561733", "url":
"https://finder.video.qq.com/251/20302/stodownload?encfilekey=6xykWLEnztKcKCJZcV0rWCM8ua7DibZkibPSZaIgeFjxE7UUwEyXBfLqiaMpEOwAkcxPlKicyibfLewIVQsFDWGhCibF8s5NLmtTDAgicd9g5gTJDIEia1tAcZ5YevrG29dF21RzKCMh6r7ctxJjicRBS5gUGBt2oJeD5jC91hsibaUWJrCfQ&a=1&bizid=1023&dotrans=0&hy=SZ&idx=1&m=19a08096a73f2a274bc857de3c2fbed5&upid=500220&web=1&token=Cvvj5Ix3eew5xyibexEnJ54AzfqIN02vFXTxU5bO53PQv0q3xFj5hcIicGwAYfg6noc9haCdlx8eelMEqQ34FBKRujhZEicWVKJEicZrbgjYceBlUStD5gjg67ALRbTGKOdU&ctsc=141&extg=10f002e&ftype=107&svrbypass=AAuL%2FQsFAAABAAAAAABC%2Bf6w4%2B8SLaByxbenZRAAAADnaHZTnGbFfAj9RgZXfw6V7VV5vqsuT5zyW0EYtSrmHCiP5Ka%2BlRP8n%2BS8r0F3VYalT%2FYO%2Ba2%2F&svrnonce=1705490373",
"size": 132966833, "description": "#好剧推荐 爱她那就多陪陪她", "uploader": "指尖追剧"}
我也是想要个这样的,抓包的事情我自己可以干。 等我来搞一个。
搞出来,cue我一下,大佬。
弄好了。 方法如下:
- fork 一个本仓库,修改
App.jsx
文件: 在<div className="App">
这一行下方加上以下代码,这个只是加了一个输入框和一个下载按钮,其它代码界面什么的我都不想动了。 然后运行 npm run start 运行。<textarea style={{ width: '1000px', height: '300px' }} id="info"></textarea> <Button icon={<DownloadOutlined />} type="primary" onClick={() => { const { url, decode_key: decodeKey, description } = JSON.parse(document.querySelector('#info').value) send({ type: 'e_下载', url, decodeKey, description, }); }} size="small" > 解密下载 </Button>
- 关键是拿到视频号的视频信息,我是用 whistlejs 来拦截的,推荐你也这样做 安装whistle就不说了,后面的操作需要你确保代理能成功。
在whistle 的 Rules 里加一条代理规则 :
https://channels.weixin.qq.com/web/pages/feed jsAppend://{wechat}
然后在Values里新建一个名叫 wechat 的 key, 在右边窗口粘贴以下代码function send_response_if_is_video(response) { let value = JSON.parse(response["jsapi_resp"]["resp_json"]); // debug_wvds("send 2: " + JSON.stringify(value)); if (value["object"] == undefined || value["object"]["object_desc"] == undefined || value["object"]["object_desc"]["media"].length == 0) { return; } let media = value["object"]["object_desc"]["media"][0]; // debug_wvds("send 3: " + JSON.stringify(media)); let description = value["object"]["object_desc"]["description"].trim(); let video_data = { "decode_key": media["decode_key"], "url": media["url"]+media["url_token"], "size": media["file_size"], "description": description, "uploader": value["object"]["nickname"] }; setTimeout(() => { alert(JSON.stringify(video_data)) console.log(video_data) }, 1000) } function wrapper(name,origin) { return function() { let cmdName = arguments[0]; if (arguments.length == 3) { let original_callback = arguments[2]; arguments[2] = async function () { if (arguments.length == 1) { send_response_if_is_video(arguments[0]); } return await original_callback.apply(this, arguments); } } let result = origin.apply(this,arguments); return result; } } window.WeixinJSBridge.invoke = wrapper("WeixinJSBridge.invoke", window.WeixinJSBridge.invoke); window.wvds = true;
之后打开视频号的视频页面,如果正常的话,你会看到一个alert弹窗里面是视频信息,同时会console出来。我是用whistle注入了 vconsole来复制控制台里的视频信息。
- 接下来把复制的信息(js 对象)粘贴到前面新加的输入框里点击下载,正常的话就可以下载了。
感谢大佬提供。
我把这个功能做成 uTools 插件了,在 uTools 插件市场搜索 '微信视频号下载器' 可以找到
咋运转的啊,我把链接丢进去,咋没反应呢?
你是怎样的链接丢进去,要像下面这样的一段对象:
{"decode_key": "82561733", "url": "https://finder.video.qq.com/251/20302/stodownload?encfilekey=6xykWLEnztKcKCJZcV0rWCM8ua7DibZkibPSZaIgeFjxE7UUwEyXBfLqiaMpEOwAkcxPlKicyibfLewIVQsFDWGhCibF8s5NLmtTDAgicd9g5gTJDIEia1tAcZ5YevrG29dF21RzKCMh6r7ctxJjicRBS5gUGBt2oJeD5jC91hsibaUWJrCfQ&a=1&bizid=1023&dotrans=0&hy=SZ&idx=1&m=19a08096a73f2a274bc857de3c2fbed5&upid=500220&web=1&token=Cvvj5Ix3eew5xyibexEnJ54AzfqIN02vFXTxU5bO53PQv0q3xFj5hcIicGwAYfg6noc9haCdlx8eelMEqQ34FBKRujhZEicWVKJEicZrbgjYceBlUStD5gjg67ALRbTGKOdU&ctsc=141&extg=10f002e&ftype=107&svrbypass=AAuL%2FQsFAAABAAAAAABC%2Bf6w4%2B8SLaByxbenZRAAAADnaHZTnGbFfAj9RgZXfw6V7VV5vqsuT5zyW0EYtSrmHCiP5Ka%2BlRP8n%2BS8r0F3VYalT%2FYO%2Ba2%2F&svrnonce=1705490373", "size": 132966833, "description": "#好剧推荐 爱她那就多陪陪她", "uploader": "指尖追剧"}
那就是我打开的姿势不对,我就只是把url丢进去了,丢的一个字符串。
w2 监听开始成功了,但是后来不知道怎么又不管用了。
功能很简单,就是一个输入框,输入fiddlet等抓包抓到的视频号链接,一点按钮就解密并下载视频。
折腾3天了,一运行软件,电脑浏览器就打不开网页,视频号也无法打开。关掉软件,就正常了。