日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BugkuCTF-Reverse题SafeBox(NJCTF)

發(fā)布時間:2024/9/27 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

#!usr/bin/env python #!coding=utf-8 import math for i in range(10000000, 99999999):t = 1t1 =10000000flag = 1if (abs(((i / 1000) % 100) - 36) == 3 and (i % 1000) % 584 == 0):for j in range(4):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)print('NJCTF{'+chr(i / 1000000)+c2+c3+'f4n}')

得到的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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。