1. 程式人生 > >Android逆向工程之apk加固後反編譯AndroidManifest.xml

Android逆向工程之apk加固後反編譯AndroidManifest.xml

Android逆向工程之apk加固後反編譯AndroidManifest.xml

Android編譯生成的apk經過加固後,AndroidManifest.xml無法直接檢視,直接開啟是一堆亂碼。在一些情況下, 又特別需要知道加固後的包中某個值最終形態,比如多渠道打包中,根據不同配置生成不同的渠道名,需要核實渠道名是否真的正確,這時候就需要通過Android的逆向工程,把加固後apk中包藏的meta欄位反編譯處理,提取檢視加固後的值。
首先需要下載工具AXMLPrinter2.jar。我把AXMLPrinter2.jar及其原始碼檔案放到下載連結:
https://download.csdn.net/download/zhangphil/10772059

拿到一個加固後的apk後,比如這個App叫做app.apk,然後把它的字尾改成.zip,即變成app.zip,然後把它當做一個普通壓縮檔案解壓,解壓後就會在裡面找到AndroidManifest.xml檔案,顯然此時的AndroidManifest.xml是經過加固加密的,需要用AXMLPrinter2.jar將其逆向復原。通過命令:

java -jar AXMLPrinter2.jar AndroidManifest.xml > ok.xml

AndroidManifest.xml即為加固後加密的檔案,ok.xml是經過逆向工程後恢復的AndroidManifest.xml檔案,此時的ok.xml就可以直接開啟檢視。