晚上本來想繼續學習Entity Framework 5, 結果一哥們發來個連結:http://segmentfault.com/game/ 開啟後就開始玩,本來以為很簡單,結果折騰了半天才弄出來,這裡簡單記錄一下。
第一關:看源碼。
第二關:還是看源碼。
第三關:看源碼好像什麼都沒有,想著抓包分析一下。開啟fiddler2,重新整理了好幾次頁面後發現response頭裡面有一行包含了key。
第四關:這個蛋疼了,死活不知道改怎麼辦,因為對比了三個key確實好像沒什麼規律。最後總算想到了md5,搜了個網站解碼發現上一個key是4,
那就簡單了,將5用md5加密後作為key,pass。
第五關:看到了神奇的二維碼,立馬想到瞭解碼,搜了個網站上傳了下載的二維碼圖片來解碼,發現還是不行。最後實在蛋疼就用記事本開啟圖片看了看,發現key竟然就在眼前。
第六關:這關很坑爹,想了好久也不知道是啥意思,把頁面上的那個破編碼搞了個死去活來也不行。最後只好google和百度了,沒想到百度裡面搜到了遊戲開發人員的部落格,上面給出了key: http://t.qq.com/p/t/169307017338921
第七關:這關更加坑爹,想起上一次是搜出來的就拚命搜,結果什麼搜尋引擎都搜不著,結果直接複製上去就好了,你大爺啊。
第八關:想起了上次的複製,結果當然不行,然後繼續看源碼。看啊看,看啊看,發現這個表單應該提交一把。本來想用程式搞,最後想起了chrome可以直接改源碼,然後很幸福的加了個submit按鈕,點了不行。想了半天,只能亂改表單,把get改成post成功。
第九關:這一關一看就知道不寫代碼是肯定不行了。至於底線不是0就是1,作為一個光棍,當然變成1了。將二進位文本複製到記事本,全域替換將底線變成1.然後開始用C#寫代碼,將8位二進位變成byte後直接寫成檔案,結果無論是改成文本還是圖片都不行,當然各種壓縮格式也都解壓不了。沒辦法,把二進位變成ASCII代碼列印出來分析,看了半天發現原來是base64. 我勒個去,立馬將base64轉化成byte位元組寫入檔案。這次改文本圖片還是不行,用zip解壓竟然過了。可是解壓後改文本圖片還是看不出是什麼東西。想起了可能二次壓縮,然後就繼續用各種格式嘗試解壓,最後tar成功。下面的就沒啥可說的了,看到了蒼老師的圖片,直接輸入就行了。
下面是C#的字元轉碼:
StringBuilder sb = new StringBuilder(); foreach (string line in File.ReadAllLines("tt.txt")) { string[] datas = line.Split(' '); byte[] bytes = new byte[datas.Length]; for (int i = 0; i < datas.Length; ++i) { bytes[i] = Convert.ToByte(datas[i], 2); } string newLine = Encoding.ASCII.GetString(bytes); sb.Append(newLine); } using (FileStream writer = new FileStream("result.txt", FileMode.Create)) { byte[] result = Convert.FromBase64String(sb.ToString()); writer.Write(result, 0, result.Length); }