如何突破限制,在PC上调试微信页面调试工具手机页面

【微信】绕过限制,在PC上调试微信投票页、砍价页 - CSDN博客
【微信】绕过限制,在PC上调试微信投票页、砍价页
假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事)
1. 方便调试的浏览器。个人喜欢Chrome,本文基于Chrome 43.0. (正式版本) m (32 位)环境。
2. 抓包工具,推荐fiddler4,当然你比较喜欢Wireshark的话也可以,反正只要是能抓到cookies就都可以
3. 能编辑cookies的浏览器插件。Chrome下我推荐EditThisCookie,Firefox的话试用Firebug自带的编辑功能即可
这里针对常见的三种限制方法做了分类(不过我感觉应该也没有第四类了),其绕过方法难度也是逐渐递增的。下文将从确认限制方法以及绕过限制两个角度一一分析。
未做明显限制
例子:翻滚吧小洛克
这种页面最多,基本上就是相当于啥也没做。
手机里其他浏览器也可以打开页面并正常进行页面浏览。
这种页面在PC上调试只需要开Chrome的模拟器即可。
1. Ctrl+Shift+I打开chrome的开发者中心
2. 点击开发者中心工具条右上角的手机小图标,如图:
3. 如果发现不能模拟触屏,则是因为设置里没开,点击开发者中心工具条右上角的箭头小图标,然后Emulation&Sensors&Emulate touch screen ,将该选项勾上即可。如图所示:
轻松过关。
检查UA来限制
例子:多泡游戏-doNotTouchWhite
由于这个站点游戏需要登录,所以放个公共号测试用,勿滥用。
user:duopaotestdada
pwd:duopaotest
手机浏览器打开后会跳转到开发者自己的其余页面,或者有弹窗提示,但是不会跳到open.域名去。
看着这种就可以肯定十有八九是基于UA(UserAgent)检测了。所以破解方法很简单,模拟UA就好。chrome内置了这个功能。
1. 开启浏览器的模拟器(方法见上)
2. 在模拟器右上角的UA处将以下UA贴进去并重新进入原页面(不直接刷新是因为有些页面会根据UA做跳转)
Mozilla/5.0 (L U; Android 4.1.2; zh- Chitanda/Akari) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/6.0.0.58_r
NetType/WIFI
以上是安卓手机微信的UA,另附一个iOS下的UA
Mozilla/5.0 (iP CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI
一般情况下这两个用处都一样,没啥区别,实际上根据大部分前端的习惯,哪怕UA里只填一个MicroMessenger字段都是可以绕过去的。
1. 上面的方法虽然可以绕过限制了,但是终究不方便,每次都要手动改一次UA。实际上较新版的Chrome浏览器是可以自定义Device的。点击开发者中心右上角的齿轮图标,然后Devices&Add custom device,即可自行添加一个带微信UA的模拟器,然后之后在模拟器界面的Device里切换即可。如图:
利用微信oauth做限制
例子:拯救太平轮
上面两种都是比较常见而且简单就能绕过限制的,而有些对用户身份验证要求比较高的页面,则会利用微信的OAUTH来拉取openid做验证,这种就不仅仅是改UA这么容易绕过去了。好在也不是无解。因为身份验证一般都是存在cookies里的,所以我们可以直接给PC模拟器伪造cookies来让页面误以为我们是在微信内做的验证。
手机浏览器打开后会跳转到open.域名,且页面提示请在微信客户端打开链接.
1. 将浏览器UA改为微信的,然后刷新页面,会发现这个时候不再提示请在微信客户端打开链接了,但是整个页面一片空白。
2. 打开fiddler,并设置手机wifi连接,确保手机数据都经过了fiddler。
fiddler的配置可以参考这篇文章,https的两个配置必须要做,不然抓不了微信的包,另外如果确定手机连上了fiddler了但是微信的数据包都没被抓到,可以先把微信app强行关闭,然后重新开一下即可
3. 在微信里点击页面链接,使其正常进入页面,然后fiddler上注意相关域名的记录,找到Tunnel to open.后面那条记录。会发现这时候原来的链接带上了oauth参数。复制这时候的链接
1. 在浏览器中打开前面复制的链接,会发现还是白屏,然后右键页面,选择EditThisCookies,会发现这个页面下有两条cookies了。也可以在开发者工具的Resources&cookies&里查看当前页面拥有的cookies数量。之所以前面不自己直接创建cookies就是因为cookies除了Value这个属性外,还有Domain、Path、Expires/Max-Age等等其余属性需要设置,而这些属性自己是摸不出来的,只能先依靠页面服务器创建,然后直接更改Value即可。
回到fiddler,还是刚刚选择的链接,右边窗口选择Headers,然后会看到下面有两条cookies,以及对应的数值。选中一条,然后右键Copy Value only,将值复制到前面浏览器里打开的EditThisCookies页面中去。如图:
需要的注意的是,这里复制出来的是cookies名称+cookies值的方式,而EditThisCookies里只需要填cookies值即可,所以复制进去后记得将cookies Name =这一部分删掉。如下图所示,绿框里的PHPSESSID=是不需要的,删掉即可.如图:
3. 重复第五步,将全部cookies值都改完之后,回到之前的浏览器页面,输入最初的主页链接,成功。
在微信里的话,认证页面完成后一般是有跳转的,不过由于这里是手动更改的,所以没办法触发跳转,需要我们手动模拟一次。而前面的cookies在的缘故,页面服务器也会当我们已经认证过,所以就直接跳过了。最后成功的截图:
完成,看起来很复杂,其实也很简单。个人感觉这个过程最麻烦的地方其实在于第2步:手机连fiddler需要先断开之前的无线,手动输一次代理设置到wifi,然后再连接下。所以我觉得现在最需要一个安卓下可以存储wifi代理链接设置的工具= =
进去后有部分功能无法正常使用
有时候会发现即使页面正常进去了,也有些功能不能触发,比如上传图片之类的,但是浏览器也没有报错。这种情况下一般多是由于对方使用了微信的jssdk内置方法(wx.xx之类的)。因为微信内置的方法不是纯webview可以完成的,很多功能都需要微信客户端的配合,因此达不到预期的效果也是很正常的。可以看微信jssdk的官方demo,你会发现基本上没一个可以在PC上用。
假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事)
1. 方便调试的浏览器。个人喜欢Chrome,本文基于Chrome 43.0. (正式版本) m (32 位)环境。
2. 抓包工具,推荐fiddler4,当然你比较喜欢Wireshark的话也可以,反正只要是能抓到cookies就都可以
3. 能编辑cookies的浏览器插件。Chrome下我推荐EditThisCookie,Firefox的话试用Firebug自带的编辑功能即可
这里针对常见的三种限制方法做了分类(不过我感觉应该也没有第四类了),其绕过方法难度也是逐渐递增的。下文将从确认限制方法以及绕过限制两个角度一一分析。
未做明显限制
例子:翻滚吧小洛克
这种页面最多,基本上就是相当于啥也没做。
手机里其他浏览器也可以打开页面并正常进行页面浏览。
这种页面在PC上调试只需要开Chrome的模拟器即可。
1. Ctrl+Shift+I打开chrome的开发者中心
2. 点击开发者中心工具条右上角的手机小图标,如图:
3. 如果发现不能模拟触屏,则是因为设置里没开,点击开发者中心工具条右上角的箭头小图标,然后Emulation&Sensors&Emulate touch screen ,将该选项勾上即可。如图所示:
轻松过关。
检查UA来限制
例子:多泡游戏-doNotTouchWhite
由于这个站点游戏需要登录,所以放个公共号测试用,勿滥用。
user:duopaotestdada
pwd:duopaotest
手机浏览器打开后会跳转到开发者自己的其余页面,或者有弹窗提示,但是不会跳到open.域名去。
看着这种就可以肯定十有八九是基于UA(UserAgent)检测了。所以破解方法很简单,模拟UA就好。chrome内置了这个功能。
1. 开启浏览器的模拟器(方法见上)
2. 在模拟器右上角的UA处将以下UA贴进去并重新进入原页面(不直接刷新是因为有些页面会根据UA做跳转)
Mozilla/5.0 (L U; Android 4.1.2; zh- Chitanda/Akari) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/6.0.0.58_r
NetType/WIFI
以上是安卓手机微信的UA,另附一个iOS下的UA
Mozilla/5.0 (iP CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI
一般情况下这两个用处都一样,没啥区别,实际上根据大部分前端的习惯,哪怕UA里只填一个MicroMessenger字段都是可以绕过去的。
1. 上面的方法虽然可以绕过限制了,但是终究不方便,每次都要手动改一次UA。实际上较新版的Chrome浏览器是可以自定义Device的。点击开发者中心右上角的齿轮图标,然后Devices&Add custom device,即可自行添加一个带微信UA的模拟器,然后之后在模拟器界面的Device里切换即可。如图:
利用微信oauth做限制
例子:拯救太平轮
上面两种都是比较常见而且简单就能绕过限制的,而有些对用户身份验证要求比较高的页面,则会利用微信的OAUTH来拉取openid做验证,这种就不仅仅是改UA这么容易绕过去了。好在也不是无解。因为身份验证一般都是存在cookies里的,所以我们可以直接给PC模拟器伪造cookies来让页面误以为我们是在微信内做的验证。
手机浏览器打开后会跳转到open.域名,且页面提示请在微信客户端打开链接.
1. 将浏览器UA改为微信的,然后刷新页面,会发现这个时候不再提示请在微信客户端打开链接了,但是整个页面一片空白。
2. 打开fiddler,并设置手机wifi连接,确保手机数据都经过了fiddler。
fiddler的配置可以参考这篇文章,https的两个配置必须要做,不然抓不了微信的包,另外如果确定手机连上了fiddler了但是微信的数据包都没被抓到,可以先把微信app强行关闭,然后重新开一下即可
3. 在微信里点击页面链接,使其正常进入页面,然后fiddler上注意相关域名的记录,找到Tunnel to open.后面那条记录。会发现这时候原来的链接带上了oauth参数。复制这时候的链接
1. 在浏览器中打开前面复制的链接,会发现还是白屏,然后右键页面,选择EditThisCookies,会发现这个页面下有两条cookies了。也可以在开发者工具的Resources&cookies&里查看当前页面拥有的cookies数量。之所以前面不自己直接创建cookies就是因为cookies除了Value这个属性外,还有Domain、Path、Expires/Max-Age等等其余属性需要设置,而这些属性自己是摸不出来的,只能先依靠页面服务器创建,然后直接更改Value即可。
回到fiddler,还是刚刚选择的链接,右边窗口选择Headers,然后会看到下面有两条cookies,以及对应的数值。选中一条,然后右键Copy Value only,将值复制到前面浏览器里打开的EditThisCookies页面中去。如图:
需要的注意的是,这里复制出来的是cookies名称+cookies值的方式,而EditThisCookies里只需要填cookies值即可,所以复制进去后记得将cookies Name =这一部分删掉。如下图所示,绿框里的PHPSESSID=是不需要的,删掉即可.如图:
3. 重复第五步,将全部cookies值都改完之后,回到之前的浏览器页面,输入最初的主页链接,成功。
在微信里的话,认证页面完成后一般是有跳转的,不过由于这里是手动更改的,所以没办法触发跳转,需要我们手动模拟一次。而前面的cookies在的缘故,页面服务器也会当我们已经认证过,所以就直接跳过了。最后成功的截图:
完成,看起来很复杂,其实也很简单。个人感觉这个过程最麻烦的地方其实在于第2步:手机连fiddler需要先断开之前的无线,手动输一次代理设置到wifi,然后再连接下。所以我觉得现在最需要一个安卓下可以存储wifi代理链接设置的工具= =
进去后有部分功能无法正常使用
有时候会发现即使页面正常进去了,也有些功能不能触发,比如上传图片之类的,但是浏览器也没有报错。这种情况下一般多是由于对方使用了微信的jssdk内置方法(wx.xx之类的)。因为微信内置的方法不是纯webview可以完成的,很多功能都需要微信客户端的配合,因此达不到预期的效果也是很正常的。可以看微信jssdk的官方demo,你会发现基本上没一个可以在PC上用。
本文已收录于以下专栏:
相关文章推荐
微信投票刷票技术。 有些投票系统绑定了微信,即OAuth2.0。这有助于提升客户体验。但同时也导致此类页面不能在电脑上的浏览器中打开。如果刷票呢?
      既然是网页投票,那肯定可以伪造HTTP请求来实现刷票。需要分析的就是该网站到底采用了哪些防止刷票的措施。原投票已经停了,我给大家描述一下。
      (1).首先,这是公开...
本文原创作者:chitanda
假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的...
/debugtalk/VoteRobot
现阶段,在微信朋友圈举办的投票活动层出不穷,相信已经有不少同学对此不胜其烦,因为总会时不时地冒出个人(亲戚、朋友、o...
先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了
一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了...
现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动。
微信浏览器中打开网页游戏效果还不...
假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的三种页面做一下分析,一一绕过其限制,(...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)电脑上调试手机网站的几种方法
13701次浏览
手机网站开发,最让人头疼的是网站的兼容问题,不同的手机可能会出现一些莫名的问题。手机网站常见问题及解决方案,我会在后面的文章陆续发表,大家可以看一下。
本文主要讲解电脑上如何调试手机网站:
一、安卓手机的调试:
1、最常见的安卓手机的调试方法是用chrome浏览器调节,既方便有简单。(chrome的版本要在v20.0以上)
按F12,调出代码调试器,如下图
可以让代码调试器左右结构显示
按照下面画红色圈圈的地方进行操作,如下图:
您可以看到有很多设备可以选择
选择Emulate就可以对您的网站进行模拟调试了!
2、安装安卓虚拟机,这种方式可以模拟真机,效果更好一些!
方法如下:
打开上面的地址,注册下载。
安装方法参见:
安装好了以后,有时候不能安装软件,需要破解,下面写写破解步骤!
第一部: 装个ARM转换器 Genymotion-ARM-Translation
第二部: 装个Google Apps ,
把这两个文件拖进虚拟机就可以了!【注意:对应版本要下载好,不然不好用的】
安装好了,运行之后如下图:
二、苹果手机的调试方法:
对于苹果手机的调试,要想在电脑上进行,那必须要用苹果电脑(Mac)了!Mac 版的 Safari 浏览器早就可以连接 iPhone 进行测试了,可以看这里:
也就是说,你将 iPhone 连接 Mac 之后在 iPhone 的 Safari 打开网页,然后再打开 Mac 上的 Safari 浏览器,选择“开发”就可以看到你的 iPhone 上面的网页了,然后会打开 Console 这样的工具。就可以进行各种调试和检查,操作会实时改变在 iPhone 上。
这里如果没有 iPhone 或者觉得 iPhone 连接麻烦,其实也可以使用 Xcode 开发套装中的 iPhone 模拟器。
打开 Xcode 之后,在 “Xcode”-&“Open Developer Tool”-&“iOS Simulator” 即可打开一个 iPhone 模拟器。
这个模拟器几乎跟真实环境一致,还可以设置 iOS 的设备型号等。在模拟器中 Safari 打开的网页,也可以被 Safari 检测到并进行调试,这样就方便多了,不需要来回插拔数据线,同时还可以方便对照设计稿进行细节调整等。
安卓手机的调试,大部分可以用安卓虚拟机或者chrome进行。苹果手机的调试就要用MAC机进行。要是大家还有什么好的调试方法,可以留言交流!当然,真机调试也是一种不错的选择!
相关文章:
关键词搜索其他的,想到再补充吧。

我要回帖

更多关于 如何调试微信上的页面 的文章

 

随机推荐