看雪.Wifi万能钥匙 2017CTF年中赛---第一题
生活随笔
收集整理的這篇文章主要介紹了
看雪.Wifi万能钥匙 2017CTF年中赛---第一题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
考察浮點數運算
1、OD載入,搜索字符串,查找到錯誤或正確提示信息,雙擊點進去。
找到以為的關鍵跳轉,下斷點,重新載入,輸入注冊碼,運行,竟然提示錯誤!
不死心的將關鍵跳轉NOP掉,保存到文件,運行,
結果依然報錯!果然爆破不行呀……那就老老實實查看算法吧。
2、在該段開始位置下斷點,OD重新載入,運行,輸入key,斷在段首,仔細分析匯編代碼
發現程序,首先判斷輸入長度是否等于4,如果不是則直接報錯;接著將4個字符分別存入[ebp-0x1C]、[ebp-0x1B]、[ebp-0x1A]、[ebp-0x19];然后將第1個字符與“1”比較,第2個字符與“5”比較,如果不等則報錯。
也即key的前2個字符是15
3、繼續向下分析,這次我輸入的是“1589”
發現流程是這樣的:首先把1和5轉為浮點數1.0和5.0,然后相除得0.2;接著用(第3個字符-0.2)第4個字符16.0,得到結果。
4、繼續向下分析,發現程序最終是將剛得到的結果與384.0比較,并將結果存入ax,并根據ax的值判斷是否進行跳轉
5、因此我們只要保證最后計算出的結果為384.0就可以了!很容易算出key=1555,運行驗證!
6、因此注冊機為:
總結
以上是生活随笔為你收集整理的看雪.Wifi万能钥匙 2017CTF年中赛---第一题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电影播放小程序毕业设计毕设作品开题报告答
- 下一篇: can光端机、can转光纤或can光纤转