在朋友圈看到一款瘋轉的H5小游戲,想要copy,什么?只能在微信里打開?小樣,圖樣圖森破,限制了oauth、微信瀏覽器內打開,照樣能看你源碼~
使用fiddler來抓包
需要先做一些簡單的准備工作:
-
一台帶有無線網卡的PC或者筆記本電腦,然后將電腦和手機連接到同一個Wi-Fi網絡中,並且保證二者是在同一個ip網段內的;
-
在電腦上安裝 Fiddler;
-
打開Fiddler在菜單欄中點擊 Tools - Fiddler Options - Connections 中按照如下配置后重啟下fiddler:
很好理解,即允許遠程設備使用本機聯網.
好了,可以重啟fiddler軟件了,重啟完畢后把軟件最大窗口,不然你可能看不懂怎么沒有找到那個該死的Online圖標?在工具條的最右邊,鼠標移到那個Online上,看圖:(轉載請注明出處:猿資猿味)
找到無線局域網內分配到本機的ip,上圖是192.168.0.4.具體各位自行找到,不要找錯了,確定后才能有用.
重點來了,掏出手機,打開手機的網絡設置,把網絡設置中的代理設置為192.168.0.4,端口號填8888.以IOS手機為例,"設置"->"Wi-Fi",看圖,點那個"i":
找到"HTTP代理",選擇"手動",填上電腦的IP(192.168.0.4)和端口(8888),看圖:(轉載請注明出處:猿資猿味)
好了,現在正常情況下用手機產生http請求的數據都會在電腦上的fiddler上顯示出來了,如果不行請自行排查IP是否設錯,或者是不是沒有同處於一個局域網下,或者沒有開啟fiddler的允許遠程用8888端口訪問網絡...這些個前提要確認好.
如果對方是https的怎么辦?沒問題,裝個擴展插件:CertMaker for iOS and Android 步驟如下:
-
安裝 CertMaker for iOS and Android 用來抓HTTPS的數據包;
-
打開Fiddler,點擊菜單欄上的 Tools - Fiddler Options - HTTPS,勾選上Decrypt HTTPS traffic ,然后重啟Fiddler;
-
打開手機,訪問本機IP+8888,例如:192.168.0.4:8888, 點擊 You can download the FiddlerRoot certificate 按照提示,在手機上安裝證書,重啟手機瀏覽器。
好了,https照樣能抓了.接下來教大家如何看源碼.
再裝一個擴展:Syntax-Highlighting Add-Ons,下載地址都在上面那個地址里了,找一下就有了,安裝上重啟fiddler.
實戰操作演練
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6f3020ce6c245df0&redirect_uri=http%3A%2F%2Fw.k189.cn%2Findex.php%2FHuoDong%2FFlowhongbao%2Findex&response_type=code&scope=snsapi_base&state=123&connect_redirect=1#wechat_redirect 以這個活動為例,在電腦上是打不開的,但是在微信里面能打開,因為有oauth2.0嘛.
在手機的微信中打開此鏈接,會在fiddler軟件里顯示全部http請求哦,看圖:(轉載請注明出處:猿資猿味)
這個看到了吧,就是那么簡單,js,html,圖片都會顯示出來的,看源碼可以說是不費吹灰之力,仿佛是和用Chrome瀏覽器F12看源碼一樣,哦呵呵呵~
雙擊上圖圈出來的url,右側會把詳情顯示出來,點"SyntaxView"且看下圖:(轉載請注明出處:猿資猿味)
這時你可能要叫起來了,艹艹艹擦哦,怎么是亂碼?騷年,Don't worry.沒看到上面還有句英文寫着嗎?翻譯過來大概意思也就是說:"響應可能需要解碼才能看,點我格式下他"(不要吐槽我的英文,只可意會不可言傳).就是讓你點它唄,點了你會發現,amazing!
好了,都是看得懂的東西了,我也就不廢話了,其他的JS文件一樣能看的,還幫你格式化過了.