針對“逆向基礎(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加密后當(dāng)做key傳入。
繼續(xù)跟蹤代碼,發(fā)現(xiàn)用戶名是"U2hlMTFfTjZSYw=="進行base64解碼,密碼是基于用戶名做SHA1加密,取前16字節(jié)生成。
直接網(wǎng)頁在線解碼,結(jié)果如下,得到了用戶名和密碼。
-
Android
+關(guān)注
關(guān)注
12文章
3936瀏覽量
127402 -
Exposed
+關(guān)注
關(guān)注
0文章
3瀏覽量
6446
原文標(biāo)題:逆向基礎(chǔ)二十三:基于Xposed的一種脫殼方法
文章出處:【微信號:Reverse16,微信公眾號:Q哥學(xué)逆向】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論