教你如何使用微信网页版“抓取”微信撤回消息
有个高中微信搞笑群,常发一些搞笑的图片,但是发后就撤回了,一不小心就看不到了,所以就想着怎么查看撤回的图片或者文字。
思路是这样的,当微信收到撤回消息的请求后,将撤回的响应包改掉,这样微信就不能撤回了,微信APP比较难搞,就直接用微信网页版抓包修改吧。
关于微信网页版的抓包其实也比较复杂,主要是常常抓包失败,网页无法打开(支付宝、淘宝也是,貌似它们的https协议更安全,不好代理,求解),为此专门做了个vmware虚拟机,配置是xpsp3+ 搜狗浏览器6.3.8.22061+fiddler v4.6.2.32002。
打开fiddler,设置https,如图:
打开搜狗浏览器设置代理服务器:
在浏览器里访问https://wx2.qq.com/? lang=zh_CN,浏览器显示如下截图,表示代理成功:
此时fiddler显示如下,表示抓包成功:
微信手机端扫描二维码成功登陆:
Fiddler截获数据包如下所示:
介绍一下收到消息跟撤回消息的区别:在收到消息时,微信响应包中MsgType=1,Content是介绍到的消息:
在收到撤回消息时MsgType=10002,Content是撤回的提示信息:
要想查看撤回的消息,只需要将”MsgType”: 10002替换成”MsgType”: 1,并将Content替换成友好信息就行了。
下边编辑fiddler脚本,自动替换指定响应数据:
要想编辑fiddler脚本,要下载一个fiddler脚本编辑插件,点击fiddler- Rules- Customize Rules, 按照提示安装插件,重启fiddler,截图如下:
编辑fiddler脚本,使其在响应包中自定替换指定内容,直接编辑函数,替换如下所示:
static functionOnBeforeResponse(oSession: Session) {
if (m_Hide304s oSession.responseCode== 304) {
oSession[ ui-hide ] = true
}
if(oSession.GetResponseBodyAsString().Contains( MsgType : 10002 )){
// Remove any compression orchunking
oSession.utilDecodeResponse();
var oBody =System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
// Replace all instances of the DIVtag with an empty string
//var oRegEx =/ div[^ ]* (.*?) //div
//oBody = null;
varstrBody=oBody.replace( MsgType : 10002 , MsgType : 1 );
// Set the response body to thediv-less string
//oSession.utilSetResponseBody(strBody);
var resourse=/ Content : (.*) /gi;
var resourse1= Content : 以上为撤回消息 //
varstrBody=strBody.replace(resourse,resourse1);
//FiddlerObject.alert(strBody);
oSession.utilSetResponseBody(strBody);
}
}
保存,大功告成!!
测试一下,先发送一段文字,然后撤回,效果如下所示:
查看fiddler中的数据包,已经直接将撤回消息数据包替换掉了:
这样,微信网页版一直开着,就可以查看所有被撤回的消息了
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/56023.html
虚拟机相关文章
- 《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制
- 微信公众号网页开发-Vue项目坑点分析
- 网页右下角小广告
- HTML期末大作业~餐饮文化学生网页设计作业(HTML+CSS+JavaScript)[通俗易懂]
- 不能复制文字的网页文字复制怎么办_html循环粘贴
- 网页客服系统设置自动回复消息,自动打招呼,可点击问题列表【唯一客服】
- Excel Power Query抓取多个网页数据并配合Power Pivot进行分析
- 【错误记录】Android WebView 报错 ( 网页无法打开 位于 http://... 的网页无法加载, 因为 net::ERR_CLEARTEXT_NOT_PERMITTED )
- 闪烁提示的jQuery代码让新消息在网页标题详解编程语言
- 数据库实现网页访问Oracle数据库的最佳方式(网页访问oracle)
- 使用Linux的强大功能,制作优质网页的必备软件(linux网页制作软件)
- 如何正确关闭网页Redis(网页redis 关闭)
- ASP网页模板的应用:让程序和界面分离,让ASP脚本更清晰,更换界面更容易
- 把网页中的(电话,qq等数字)生成图片的ASP程序
- PHP将整个网站生成HTML纯静态网页的方法总结
- JavaScript在网页上单击鼠标的地方显示层及关闭层
- PHP网页游戏学习之Xnova(ogame)源码解读(二)