針對“逆向基礎題一:驗證登錄”逆向題,需要先脫殼,前面講過很多脫殼的方法,例如“逆向基礎二十一:ART環境下使用IDA腳本脫殼”中使用IDA腳本脫殼。下面介紹利用Xposed去hook住Android系統框架層DexClassLoader函數去脫殼。Xposed的使用可以參考“逆向基礎十八:Android之Xposed框架”這篇文章。 如下所示是xposed核心代碼,根據DexClassLoader的第一個參數就是待加載的apk的路徑,所以我們可以直接取到apk文件,然后我們先讀取apk文件存放到byte數組中,然后將byte數組中內容寫入/data/data/packagename路徑下。
安裝好該Xposed插件后,運行待脫殼APK,然后可以在/data/data/packagename路徑下找到dumper.apk,我們將該文件取出到Windows上,利用JADX打開,之前我們利用修改Smali代碼打印出用戶名和密碼,這次我們直接正向去分析源碼來獲取用戶名和密碼。 核心代碼如下,調用checkNameAndPassword函數,傳入用戶名、密碼以及str字符串做base64加密后當做key傳入。
繼續跟蹤代碼,發現用戶名是"U2hlMTFfTjZSYw=="進行base64解碼,密碼是基于用戶名做SHA1加密,取前16字節生成。
直接網頁在線解碼,結果如下,得到了用戶名和密碼。
-
Android
+關注
關注
12文章
3962瀏覽量
129500 -
Exposed
+關注
關注
0文章
3瀏覽量
6519
原文標題:逆向基礎二十三:基于Xposed的一種脫殼方法
文章出處:【微信號:Reverse16,微信公眾號:Q哥學逆向】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
飛凌嵌入式開發板Android系統基本框架-入門級
[資料分享]+Android框架揭秘
基于OKxx18開發板Android系統下的實時時鐘框架介紹
如何利用LCD_Color_Fill() 庫函數去顯示圖片呢
怎樣去使用RT-Thread系統中的Hook功能呢
利用Hook技術實現進程控制
Xposed的測試版可以在安卓Oreo(8.0/8.1)支持下使用

評論