題目要求
這是開發(fā)者的第一個移動應(yīng)用程序。他們正在嘗試安全地存儲秘密的手乎莉。他們中的一個可以是國旗嗎?
apk下載地址:https://github.com/ctfs/write-ups-2017/blob/10bad9bd24b3f84c761faa4d78e223a3a29b2959/bsidessf-ctf-2017/reversing/pinlock-150/pinstore.apk
----------------writeup----------------------------------
首先下載文件后安裝,查看應(yīng)用讼载,大致了解應(yīng)用不情況,應(yīng)用安裝截圖如下:
通過dex2jar反編譯apk中跌,通過jd-gui查看代碼咨堤,通過查看入口activity,可知,
接受用戶輸入字符串為str2漩符,數(shù)據(jù)庫讀取str1
跟中數(shù)據(jù)庫讀取函數(shù)fetchPin()可知一喘,該函數(shù)讀取pinDB數(shù)據(jù)表內(nèi)容如圖
查看db類獲取數(shù)據(jù)庫存放位置,如下:
通過adb shell 進(jìn)入數(shù)據(jù)庫存放目錄嗜暴,發(fā)現(xiàn)2個db文件如下:
下載數(shù)據(jù)庫pinlock.db文件查找fetchPin找查找內(nèi)容得到一個hash指通過查詢得知該明文為7498
繼續(xù)分析代碼看到應(yīng)用獲取用戶輸入內(nèi)容后經(jīng)過sha1加密后與數(shù)據(jù)庫中存放字符串進(jìn)行比較凸克,然后生成新對象,
由于之前解密查到哈兮之為7498,因此在apk中直接輸入該值闷沥,應(yīng)用反應(yīng)如下:
應(yīng)用未給出flag萎战,繼續(xù)分析代碼
--能力有限仍需女里學(xué)習(xí)java。