Loading
0

有个收到消息跟撤回消息的区别,微信网页版抓包

有一个高中微信搞笑群,经常发一些搞笑的图片,但是发回来后是撤回的,如果我不小心就看不到了微信网页版`,所以我考虑如何查看撤回的图片或文字。

这个想法是这样的,当微信收到撤回消息的请求时,撤回的响应包将被更改,这样微信就无法撤回,微信APP就更难参与,只需使用微信网页版来抓取包来修改它。

关于微信网页版的抓包其实比较复杂,主要是经常抓包失败,网页打不开(支付宝、淘宝也是,看来他们的https协议更安全,代理不好,解决了),为此专门做了一个虚拟机,配置是xpsp3+搜狗浏览器6.3.8.22061+v4.6.2.32002。

打开,设置网址,如图所示:

打开搜狗浏览器设置代理服务器:

在浏览器中访问时,浏览器将显示以下屏幕截图,指示代理成功:

将显示以下内容以指示捕获已成功:

微信手机扫描二维码并成功登录:

截获的数据包如下所示:

微信电脑版 网页微信客户端 v1528_微信可以在电脑上用吗|微信网页版登陆_微信网页版`

介绍接收消息和回调消息的区别:收到消息时,微信响应数据包 = 1 是引入的消息:

当收到召回消息 = 10002 时,是召回提醒:

要查看召回消息,只需将 “”: 10002 替换为 “”: 1,然后将其替换为友好消息。

编辑下面的脚本以自动替换指定的响应数据:

要编辑脚本,

要下载脚本编辑插件,请单击->规则->规则,按照提示安装插件,重启,截图如下:

编辑脚本,使其自定义响应包中指定的替换微信网页版`,直接编辑函数,然后按如下方式替换它:

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>/gi;

            //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);

        }

}

保存,你就完成了!!

通过发送一段文本,然后按如下方式收回它来测试它:

查看数据包,召回消息数据包已被直接替换:

这样,微信网络版始终处于打开状态,您可以查看所有已撤回的消息

*本文原作者:未经许可禁止转载

上一篇:微信挂ji项目能不能做,你准备好了吗?
下一篇:没有了