前幾朋友叫幫忙買火車票,現在的火車票大家也知道,不是一般的難買,熱門路線想直接通過12306官網買到票,估計跟買到彩票的概率差不多,
所以直接用搶票軟件,剛好聽說360搶票是如何如何牛逼,所以也試一下,還別說,還真買到了,呵呵,人品爆發!
回想買票過程,選擇 乘客,席別,車次后 后面的事交給軟件就好了,有票的話,還自動識別驗證碼,最后能自動識別驗證碼這點讓我這菜鳥很是敬佩
哇塞,這么牛掰,第一次識別驗證碼失敗后緊接着第二次識別,第三次,終於識別對了,然后自動提交訂單神馬的。。。
有點我比較反感,為毛一定要360專用瀏覽器,看那不也是用谷歌瀏覽器的內核嗎?裝逼。。。。
好吧,廢話不多說了,開始正題吧
打開360所謂搶票專用瀏覽器,並打開地址 http://pc.huochepiao.360.cn/ NND,又提示說需要安裝插件,

好吧,添加插件,等會奇跡的一刻發生了,,,NM
這界面不是很熟悉嗎?這除了那個 icon 換了,界面不是跟谷歌瀏覽器添加插件時一樣一樣的嗎?。。。
同時右下角小管家也彈出了一個提示,,
.crx 這下我敢100%肯定了,360這貨用的就是用跟谷歌瀏覽器一個內核,我處於本能,馬上定位到這個.crx文件,迅速把這個插件復制備份,
用來分析,看驗證碼自動識別到底用了些啥,直接將擴展名改成.zip然后解壓(后來在谷歌瀏覽器中嘗試安裝,你猜怎么着?沒錯,安裝成功了!
這充分說明所謂的專用瀏覽器都是幌子,騙裝機量來的!),挨個JS查找,找啊找,JS被混淆了,很難看,所以挨個美化了先,終於在一個叫 ticket_content.otn.min.js里找到了這么些
,
順藤摸瓜,在 ticket_bg.min.js 找到了這個
,
納尼,直覺告訴我,這跟驗證碼自動識別有很大關系,,http://check.huochepiao.360.cn/img_yzm? 后台訪問了這個地址get 了兩個參數,a ,b 那這兩個參數怎么來的呢?
不用怕,用 Fiddler Web Debugger 來幫忙抓請求,(為了有請求,所以又模擬搶票了,讓它開始執行驗證碼自動識別),
功夫不負有心人,在驗證碼識別了四次后終於成功了
,有了數據,那就慢慢分析吧,
發現這次識別只差一個
),經過4次識別終於識別完成,
突然想,要是能把這個用到自己的項目來做自動識別,那是多么吊炸天的事呀!於是乎自己找了張驗證碼
轉換成base64代入上面的URL,
結果很失望,返回了{“res”:”0000″} 沒成功響應,心想,是不是處在了check參數上?試着把這張圖的base64的MD5算出來換到后面,誰知還是不成功,
那么這個參數是怎么算出來的呢?,再回想上面看JS的時候不是有個getMySig函數,於是乎找到了這個,
,
沒錯,最后還調用了PIAO.plugin.GetSig 這個方法,這個簽名算法到底里面做了些什么?我找了很久還是沒有找到,
估計是被封裝到了插件中plugin這個目錄下的 helper.dll 文件中了。
PS:通過
點擊ticket_bg.html 這個頁面在控制台調用PIAO.plugin.GetSig();方法能獲取一個簽名,這種獲取方法太過於笨拙,最終通過這個簽名成功的讓360幫我識別了那個驗證碼,嘿嘿,差的遠,識別的是 5CEC
這個離我想象中的狀況差遠了,我本想看能不能直接用他們的類庫什么的或者一個未公開的URL來幫我做識別,最后看來是我多想了,360早已經把后門給堵死了,不愧是流氓軟件出身呀!
哎,自己都覺得說的語無倫次的,如果看官都看到這了,估計你也很無聊,上面是我今天下午三點開始到六點無聊的成果,不喜歡勿噴!謝謝。。。
最后還發現一個奇怪的請求,誰能告訴我這個是神馬?
找到一個以blob:http://開頭的請求 ,

問度娘,度娘說不知道,問谷哥,谷哥告訴我一大堆英語,沒興趣看(有誰知道能告訴我嗎?謝謝。),好吧,這個望塵莫及
