針對“逆向基礎(chǔ)題一:驗證登錄”逆向題,需要先脫殼,前面講過很多脫殼的方法,例如“逆向基礎(chǔ)二十一:ART環(huán)境下使用IDA腳本脫殼”中使用IDA腳本脫殼。下面介紹利用Xposed去hook住Android系統(tǒng)框架層DexClassLoader函數(shù)去脫殼。Xposed的使用可以參考“逆向基礎(chǔ)十八:Android之Xposed框架”這篇文章。 如下所示是xposed核心代碼,根據(jù)DexClassLoader的第一個參數(shù)就是待加載的apk的路徑,所以我們可以直接取到apk文件,然后我們先讀取apk文件存放到byte數(shù)組中,然后將byte數(shù)組中內(nèi)容寫入/data/data/packagename路徑下。
安裝好該Xposed插件后,運行待脫殼APK,然后可以在/data/data/packagename路徑下找到dumper.apk,我們將該文件取出到Windows上,利用JADX打開,之前我們利用修改Smali代碼打印出用戶名和密碼,這次我們直接正向去分析源碼來獲取用戶名和密碼。 核心代碼如下,調(diào)用checkNameAndPassword函數(shù),傳入用戶名、密碼以及str字符串做base64加密后當做key傳入。
繼續(xù)跟蹤代碼,發(fā)現(xiàn)用戶名是"U2hlMTFfTjZSYw=="進行base64解碼,密碼是基于用戶名做SHA1加密,取前16字節(jié)生成。
直接網(wǎng)頁在線解碼,結(jié)果如下,得到了用戶名和密碼。
-
Android
+關(guān)注
關(guān)注
12文章
3973瀏覽量
130237 -
Exposed
+關(guān)注
關(guān)注
0文章
3瀏覽量
6543
原文標題:逆向基礎(chǔ)二十三:基于Xposed的一種脫殼方法
文章出處:【微信號:Reverse16,微信公眾號:Q哥學(xué)逆向】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
什么是HOOK函數(shù)?HOOK函數(shù)的用途和用法

飛凌嵌入式開發(fā)板Android系統(tǒng)基本框架-入門級
[資料分享]+Android框架揭秘
基于OKxx18開發(fā)板Android系統(tǒng)下的實時時鐘框架介紹
如何利用LCD_Color_Fill() 庫函數(shù)去顯示圖片呢
如何在無ROOT的環(huán)境下使用XPOSED呢
怎樣去使用RT-Thread系統(tǒng)中的Hook功能呢
利用Hook技術(shù)實現(xiàn)進程控制
Xposed的測試版可以在安卓Oreo(8.0/8.1)支持下使用

RTOS操作系統(tǒng)中HOOK函數(shù)有什么用途?

評論