題目來源:Tencent某Android CTF題 題目:安裝包8.apk,要求獲得flag 知識點:Frida/objection、IDA、AES加密 解題過程:安裝APK,點擊登錄,進入如下Activity界面。
利用JADX查看APK,核心代碼如下所示,將輸入作為參數傳給SecondActivity。
查看SecondActivity的onCreate方法,如下所示,將intent傳的兩個參數合并成string,調用doRawData方法,期望返回值等于"VEIzd/V2UPYNdn/bxH3Xig=="。
繼續跟蹤,發現doRawData為Native函數,如下所示,另外還有其他幾個Native函數。
我們利用IDA打開so分析,如下是doRawData核心代碼,主要是將"thisisatestkey=="作為秘鑰,對入參字符串進行AES加密。
我們可以利用python編寫解密代碼,也可以Android Studio中調用so解密函數。如下我們利用python解密,代碼如下所示。最終解密結果為“aimagetencent”,將其輸入APK界面仍然沒有得到Flag。
我們利用objection查看下該APK有哪些類,如下所示,我們發現FileDataActivity并沒有分析到,
于是我們直接用objection跳轉到FileDataActivity界面如下。
最后我們再看下FileDataActivity,可以看到將"9YuQ2dk8CSaCe7DTAmaqAA==" 解碼后在界面顯示,所以FileDataActivity界面的顯示就是Flag。
責任編輯:xj
原文標題:逆向基礎題八:獲取Flag
文章出處:【微信公眾號:Linux逆向】歡迎添加關注!文章轉載請注明出處。
-
Flag
+關注
關注
0文章
12瀏覽量
8139 -
安裝包
+關注
關注
1文章
15瀏覽量
3465
原文標題:逆向基礎題八:獲取Flag
文章出處:【微信號:Reverse16,微信公眾號:Q哥學逆向】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論