最近一款小程序可謂是風(fēng)靡朋友圈回季,它的功能很簡(jiǎn)單鼻忠,就是測(cè)試一下左右腦的發(fā)育年齡塑娇,由于其操作簡(jiǎn)單拳球,結(jié)果明了莱找,對(duì)比性強(qiáng)淫僻,勾起了很多人的好奇心闸盔,都要試一試击费,曬一曬垃瞧,以滿足大家強(qiáng)烈又空虛的交際需求,于是朋友圈各種刷屏珊蟀,華麗的儿子、搞笑的、腦殘的...
1// 被挑釁
本人對(duì)這些東西基本無感(任你狂風(fēng)暴雨的刷)癌蓖,但是直到朋友圈不斷有人分享了下圖附井,
并配以文字“不過是一個(gè)隨機(jī)數(shù)崔赌,搞得大家各種high,各種曬......哭笑不得”(基本都是這個(gè)意思)
仔細(xì)看看代碼健芭,這讓老夫不禁吐槽,這代碼沒毛病啊蠢沿!速缨,人家只不過有一行生成隨機(jī)數(shù)的代碼摩骨,但這個(gè)隨機(jī)數(shù)并沒有直接影響結(jié)果睬罗,我們沒有充分證據(jù)轨功,證明結(jié)果就是隨機(jī)生成的啊H荽铩9沤А!(圖中還有模有樣的標(biāo)上哪一行.....)
不知道是哪個(gè)假程序員發(fā)了這個(gè)狀態(tài)花盐,然后就不斷有人跟著瞎起哄蒿褂,是秀智商圆米,秀優(yōu)越感,還是真的左右腦沒發(fā)育好....
就好像啄栓,路上看到一個(gè)美女,由于多看了兩眼也祠,就被抓起來認(rèn)定為“強(qiáng)奸”昙楚,這豈能忍!
2// 被調(diào)戲
這赤裸裸的挑釁诈嘿,孰不可忍啊堪旧,于是自己也玩了一把。奖亚。淳梦。
結(jié)果如下:
“左腦25,右腦27”昔字,這是多么完美的數(shù)據(jù)爆袍,多么準(zhǔn)確的描述,怎么就那么多人說不準(zhǔn)呢作郭?T赡摇!
我多么希望他是準(zhǔn)確的啊.....但是夹攒,我又測(cè)試了一次(同樣的答案)蜘醋,他給我的結(jié)果就是這樣的了....
“左腦30,右腦49”咏尝,這压语,我吃檸檬,同樣的數(shù)據(jù)编检,偏差這么大的結(jié)果胎食,逗我呢?蒙谓!
接著斥季,又測(cè)試,又不同累驮,又測(cè)試酣倾,又不同......
非常悲痛的得出一個(gè)結(jié)論:
結(jié)果隨機(jī),不準(zhǔn)谤专,非常不準(zhǔn)躁锡!
3// 探究
作為一個(gè)頭發(fā)日漸稀少的程序猿,居然被這么調(diào)戲置侍,忍不了映之,要好好跟他玩一下了...
我就是要看一下拦焚,你到底能給出多少種結(jié)果,有多少更荒唐的數(shù)據(jù)杠输!
由于每種結(jié)果赎败,都是一副圖片展示的,結(jié)果集絕對(duì)有限蠢甲,不然你要累死作圖的嗎僵刮?!p信!搞糕! 當(dāng)然,也可以自動(dòng)的生成圖片曼追,不過我猜這個(gè)小程序沒達(dá)到這種水平(也不至于費(fèi)那勁)窍仰。
解密之路正式開始:
@1
首先得找到一個(gè)破解的突破口,微信這邊的校驗(yàn)太強(qiáng)礼殊,不好測(cè)試驹吮;但是像這種小測(cè)試游戲,網(wǎng)上應(yīng)該都有膏燕,百度搜啊搜钥屈,終于還找到了,題目坝辫,結(jié)果篷就,界面,都是一模一樣近忙。
網(wǎng)站如下:http://cn.qinpiam.cn/f/276竭业。
OK,關(guān)鍵的第一步完成及舍!
@2
使用瀏覽器訪問網(wǎng)址未辆,查看源碼和資源,看能不能找到關(guān)鍵的JS提交數(shù)據(jù)的地方锯玛。
哎我的媽咐柜,幾十個(gè)js文件,看的眼花繚亂攘残,也沒找到有用信息拙友,要不就是被加密,要不就是無關(guān)緊要信息歼郭。
無奈遗契,這個(gè)簡(jiǎn)潔的道路走不通。
@3
那只有親自做一遍題目病曾,提交結(jié)果牍蜂。通過瀏覽器查看這個(gè)過程中提交的報(bào)文和接受的報(bào)文內(nèi)容漾根。
通過觀察發(fā)現(xiàn),當(dāng)做完最后一道題時(shí)鲫竞,會(huì)通過form表單自動(dòng)提交答案辐怕,然后頁面跳轉(zhuǎn)。由于整個(gè)過程是連貫的贡茅,我們通過瀏覽器能看到的是新頁面的內(nèi)容秘蛇,無法看到form表單的post請(qǐng)求信息。(工具有限啊顶考,只有一個(gè)chrome瀏覽器)
繼續(xù)想辦法....似乎卡住了...(起身走走,去個(gè)WC妖泄,思路能開闊些...)
有了驹沿,當(dāng)我們打開做題的頁面時(shí),我把網(wǎng)絡(luò)斷開蹈胡,當(dāng)做完最后一道題渊季,自動(dòng)進(jìn)行post數(shù)據(jù)提交時(shí),由于沒有網(wǎng)絡(luò)罚渐,就沒法完成却汉,這時(shí)候我們就能通過瀏覽器,看到post請(qǐng)求的信息了荷并,哈哈哈合砂!
截圖如下:
@4
模擬信息提交翩伪。
有了數(shù)據(jù),有了服務(wù)器地址谈息,我們就可以自己寫一個(gè)form表單缘屹,填充數(shù)據(jù),來模擬提交侠仇。
點(diǎn)擊提交按鈕轻姿,見證奇跡的時(shí)刻到了:
我們得到了服務(wù)器返回的數(shù)據(jù):
{"user_id": "anonymous:ae3cfef1-73de-4cf5-8123-e65832e9cfc8","fr_token":"KbtzHj3aicgP55","hashed_ids":"MRYWb4z4sB2weZ1m","result_wait": 3,"answer_id": 3123,"user_upload_img_url": ""}
看到了一個(gè)關(guān)鍵字:answer_id=3123。這個(gè)應(yīng)該就是本次測(cè)試的結(jié)果逻炊。
再重復(fù)提交幾次互亮,分別得到如下結(jié)果:
{"user_id": "anonymous:ae3cfef1-73de-4cf5-8123-e65832e9cfc8", "hashed_ids": "P1mBdJNlcq9Wd0J6", "fr_token": "Qo8HVqbwhZ8bDBgF", "user_upload_img_url": "", "result_wait": 3, "answer_id": 3062}
{"user_id": "anonymous:ae3cfef1-73de-4cf5-8123-e65832e9cfc8", "hashed_ids": "P3RBe3yOupgybLJr", "fr_token": "pgldNbqLm9nJ7rD", "user_upload_img_url": "", "result_wait": 3, "answer_id": 3122}
{"user_id": "anonymous:ae3cfef1-73de-4cf5-8123-e65832e9cfc8", "hashed_ids": "P1mBdJNlcq9Wd0J6", "fr_token": "frmK02UkSVwYqeGQ", "user_upload_img_url": "", "result_wait": 3, "answer_id": 3062}
果然,結(jié)果就是隨機(jī)的P峤尽8炜妗!
@5
分析結(jié)果
這個(gè)結(jié)果數(shù)據(jù)有什么用呢溺森?慕爬?
{
"user_id": "anonymous:ae3cfef1-73de-4cf5-8123-e65832e9cfc8",
"fr_token": "KbtzHj3aicgP55",
"hashed_ids": "MRYWb4z4sB2weZ1m",
"result_wait": 3,
"answer_id": 3123,
"user_upload_img_url": ""
}窑眯,
帶著這樣的疑問,我又做了一遍題医窿,看看結(jié)果頁面的地址磅甩,和這個(gè)數(shù)據(jù)有什么關(guān)系。
看到瀏覽器結(jié)果頁面的地址如下:
http://cn.qinpiam.cn/f/VyBXdLvnTRByaJZY/r/CbiDtjusjNV68rM7
發(fā)現(xiàn)這兩個(gè)字符串與結(jié)果數(shù)據(jù)中的fr_token和hashed_ids對(duì)應(yīng)的字符串長(zhǎng)的好像姥卢,
于是嘗試著替換一下卷要,得到地址:
http://cn.qinpiam.cn/f/KbtzHj3aicgP55/r/MRYWb4z4sB2weZ1m
訪問結(jié)果:
好像不行。
再交替替換一下:
http://cn.qinpiam.cn/f/MRYWb4z4sB2weZ1m/r/KbtzHj3aicgP55
居然真的可以了独榴,功夫不負(fù)有心人吧妗!棺榔!
到這一步瓶堕,我們已經(jīng)可以模擬訪問服務(wù)器,并分析返回結(jié)果症歇,得到結(jié)果頁面郎笆。
@6
那我就開始暴力訪問吧,到底有多少種結(jié)果忘晤。
編寫java代碼宛蚓,模擬post請(qǐng)求,循環(huán)500次设塔,看究竟有多少種結(jié)果F嗬簟!
代碼片段:
打印日志:
從結(jié)果可以看出來,一共有10組答案(話說設(shè)計(jì)師太懶了吧钞护,才10張圖片啊......)
盖喷,其實(shí)我們的內(nèi)心是崩潰的,這tm也太少了难咕,開始的時(shí)候多試幾次不就行了嗎课梳,需要花這功夫啊.......
answer_id分別為 [3066, 3120, 3064, 3121, 3068, 3070, 3062, 3123, 3124, 3122],
500次訪問余佃,他們出現(xiàn)的概率基本一樣暮刃,可以得出,我們每種結(jié)果的出現(xiàn)概率是一樣的(純隨機(jī)啊....)
分別訪問對(duì)應(yīng)的結(jié)果頁面爆土,我們可以得到這些大腦發(fā)育圖(10張):
@7
至此椭懊,我們終于得到結(jié)論:
該測(cè)試確實(shí)是隨機(jī)的,沒有參考價(jià)值步势,僅供娛樂氧猬;結(jié)果無非就這10種背犯,分別是:
編號(hào)? ? ? ? 左腦? ? ? ? ?右腦
1? ? ? ? ? ? ? ??19? ? ? ? ? ? 20
2? ? ? ? ? ? ? ? 46? ? ? ? ? ?19
3? ? ? ? ? ? ? ? ?9? ? ? ? ? ? 26
4? ? ? ? ? ? ? ? 33? ? ? ? ? ? 5
5? ? ? ? ? ? ? ? 25? ? ? ? ? ? 27
6? ? ? ? ? ? ? ? 35? ? ? ? ? ? 8
7? ? ? ? ? ? ? ? 30? ? ? ? ? ? 49
8? ? ? ? ? ? ? ? 11? ? ? ? ? ? 33
9? ? ? ? ? ? ? ? 39? ? ? ? ? ? 22
10? ? ? ? ? ? ? ?27? ? ? ? ? ? 43
最后我有翻看了這幾天朋友圈曬的測(cè)試結(jié)果,果不其然盅抚,都包含在這10個(gè)結(jié)果之中漠魏。
夜已深,該睡了妄均,boboma于2017-10-27 01:39