BugkuCTF-Reverse题SafeBox(NJCTF)
生活随笔
收集整理的這篇文章主要介紹了
BugkuCTF-Reverse题SafeBox(NJCTF)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
先下載軟件,發(fā)現(xiàn)是個安卓的apk安裝包,安裝之后打開:
一、反編譯查看源代碼
只有一個輸入框,其他的點(diǎn)不了。應(yīng)該是要輸入某個字符串然后判斷是否正確,之后返回flag。
打開apk反編譯:
兩個類主要的差別就是:
MainActivity
androidTest
androidTest相比于MainActivity,就是為了不限制之間4,5兩位的數(shù)字需相等,而且出c3有加10再轉(zhuǎn)換成字符。
方法:正向暴力破解
編寫python腳本暴力破解:
MainActivity.java
得到的flag為NJCTF{05#f4n}。
androidTest.java
#!usr/bin/env python #!coding=utf-8 import mathfor i in range(10000000, 99999999):t = 1t1 = 10000000flag = 1if (abs(((i / 1000) % 100) - 36) == 3 and (i % 1000) % 584 == 0):for j in range(3):if ((i / t) % 10 != (i / t1) % 10):flag = 0breakt *= 10t1 /= 10if (flag == 1):print(i)c2 = chr((i / 10000) % 100)c3 = chr((i / 100) % 100 + 10)print('NJCTF{have' + chr(i / 1000000) + c2 + c3 + 'f4n}')得到的flag為:NJCTF{have05-f4n}和NJCTF{have05if4n}。
Bugku的提示:flag格式NJCTF{xxx} 并且 xxx只包含[a-z][A-Z][0-9]。
所以真正的flag是NJCTF{have05if4n}。
總結(jié)
以上是生活随笔為你收集整理的BugkuCTF-Reverse题SafeBox(NJCTF)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于TCP粘包的拙见
- 下一篇: Visual Studio 2013 /