題目來源: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瀏覽量
8437 -
安裝包
+關注
關注
1文章
16瀏覽量
4008
原文標題:逆向基礎題八:獲取Flag
文章出處:【微信號:Reverse16,微信公眾號:Q哥學逆向】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
有新版keil MDK-ARM V5 注冊機安裝包不,孩子下載keil卡在許可碼過期了,救救孩子吧
最新版ESP-IDF 全離線安裝,收藏這一個就夠了
KiCad 免安裝版本(不帶器件庫瘦身版)
app漏洞題 安裝包8.apk,要求獲得flag
評論