您好,登錄后才能下訂單哦!
這篇文章主要介紹了Xposed數據采集實例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Xposed數據采集實例分析文章都會有所收獲,下面我們一起來看看吧。
應客戶需求對一款名為“**主治醫師總題庫”包名為com.zitibaohe.zhuzhiyishierke)的APP進行采集可行性分析。<br> 這款APP和服務器的通信使用的是HTTP協議,很容易抓到數據包,可惜返回的數據是加密的,如下圖所示。<br>
根據以往經驗,內容應該是被AES加密了。要想還原出明文,必須要反編譯拿到KEY才行。
下載APK文件,用JADX對其進行反編譯,發現被加殼了,使用的是360的加殼工具,如下圖所示。
必須先脫殼才能反編譯到真實的APK源碼。脫殼我們使用Xposed + FDex2插件(PS:如果你對Xposed還不熟悉,建議先閱讀Xposed相關文章)。<br> 安裝好FDex2插件(不要忘了重啟系統),啟動插件,點選要脫殼的APP,如下圖所示。
然后啟動目標APP(兒科主治醫師總題庫)。使用Root Explorer瀏覽到APP的數據目錄(/data/data/com.zitibaohe.zhuzhiyishierke/)下,如果看到多個dex文件(原本該目錄下沒有這些文件,如下圖所示),說明脫殼成功了。
將這幾個dex文件pull下來,然后依次用JADX對其進行反編譯。由于有多個dex,怎么快速定位我們關注的代碼在哪一個里呢?我們可以搜一些特征字符串,比如前面抓包看到的請求URL中的個“questions”,如果找到了,說明八成就是這個dex文件(如下圖所示)。<br><br> 然后我們再搜索AES相關的關鍵詞比如“AES/”,"SecretKeySpec"或“IvParameterSpec”,最終成功定位(如下圖所示),其使用了"AES/CBC/NoPadding"加密算法,對應的KEY和IV都是明文的。<br>
我們來驗證下KEY和IV是否正確。借助“AES Online”(http://aes.online-domain-tools.com/)這個在線工具,選擇對應的加密算法,輸入密文、KEY、IV(如下圖所示)。<br>
然后點擊"Decrypt",成功還原出明文(如下圖所示)。點擊“[Download as a binary file]”下載解密后的數據文件,發現內容是JSON格式的,解析之后如下圖所示。<br>
至此,目標實現。<br> 除了上述通過反編譯源碼來獲取秘鑰外(過程很繁瑣),我們還可以利用Xposed的方式(你需要先了解Xposed相關知識),通過HOOK javax.crypto.spec.SecretKeySpec和javax.crypto.spec.IvParameterSpec類來截獲KEY和IV,操作過程簡單,下面介紹兩個相關插件。<br>1.使用Inspeckage(https://github.com/ac-pm/Inspeckage)這個Android動態分析工具。如下圖所示是Inspeckage截獲到的AES的KEY,與我們上面通過源碼獲取到的一致(不過沒有獲取的IV,原因未知)。
2.我還測了一個叫做CryptoFucker的Xposed插件(https://github.com/Chenyuxin/CryptoFucker),用起來雖然沒有Inspeckage方便(沒有UI),不過,效果很好,成功獲取到了KEY和IV,如下圖所示(HEX形式顯示)。<br>
關于“Xposed數據采集實例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Xposed數據采集實例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。