最近在看雪Android區看到九月份的一篇優秀貼, 文章從過反調試和IDA動靜態調試角度解題,甚至還得解析得到RC4密鑰,講得非常細致,雖然我也是新手,但是這么去逆向,讓人覺得太難懂了。
明明有強大的frida工具,可以無需過反調試,無需IDA去動靜態調試,無需獲取RC4密鑰,直接用主動調用獲取flag,何必走繁瑣的路呢?
首先直接JADX打開APK,沒有加殼,直接可以看到核心代碼如下,用戶輸入直接通過JNI函數greywolf對輸入字符串做檢測。

利用IDA打開libwolf.so,沒有找到greywolf函數,所以該函數肯定是通過registerNatives注冊的,于是直接用frida拿到greywolf偏移,為0X14075。

然后IDA快捷鍵按G,輸入0X14075,直接跳轉到greywolf函數(函數名稱換成了bc)處,再F5查看偽代碼,如下。該函數只有line15和line17兩處return,先分析第二處return。

跟蹤wolf_de函數,看到明顯的RC4解密算法,且密鑰就是unk_4E13A,所以直接調用wolf_de,傳入待解密字符串,其返回值就是解密結果,我們直接利用frida去主動調用wolf_de,去解密bc函數中line16行“5B694AADB2DC559E44B84637A2D61F”得到“Password Error~”,效果如下。

所以要想驗證成功,必然走到line15行的j_jk函數,繼續跟蹤此函數,同樣手法在jk函數中line15可以解析得到正確顯示,所以跟蹤dc函數。

跟蹤上圖dc函數,一切皆從return往上跟蹤,最后在ds函數中看到如下代碼,該代碼將輸入字符與line24解密字符串比較,相等則為真。

所以直接主動調用,直接看到flag為“hello5.1”,上機驗證正確。

責任編輯:YYX
-
密鑰
+關注
關注
1文章
148瀏覽量
20918 -
函數
+關注
關注
3文章
4417瀏覽量
67501 -
Flag
+關注
關注
0文章
12瀏覽量
8437
原文標題:逆向基礎題十:獲取flag
文章出處:【微信號:Reverse16,微信公眾號:Q哥學逆向】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
獲取Ozon商品詳情數據的API接口技術指南
調用 dp123電天下平臺 “獲取電天下列表詳情數據” API 接口指南
???????使用 DMM Web API 獲取搜索列表數據
調用DMM平臺API獲取商品詳情數據的技術實踐
調用樂天平臺API獲取商品詳情數據
調用1688開放平臺商品分類API獲取分類數據
實戰解析:如何高效調用采招網關鍵詞搜索API獲取招標信息
調用西門子平臺 API 獲取 xmz 搜索列表數據
京東關鍵詞API接口獲取
【Python 沃爾瑪接口調用】調用沃爾瑪官方接口獲取授權access_token
Jumia API 調用:覆蓋非洲市場的實操指南
調用拼多多開放平臺 API 獲取店鋪列表
淘寶平臺獲取商品視頻 API 接口技術指南
【原創】labview 通過“引用調用“ 的快捷用法,不需編程獲取VI引用
如何獲取 OpenAI API Key?API 獲取與代碼調用示例 (詳解教程)
如何主動調用獲取flag
評論