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