apktool逆向apk包


  在AndroidStudio創建so一節里創建了so,並且在java里面調用so的HelloWorld方法,編譯Android Studio后生成包app-debug.apk。

在逆向apk時如果該apk引用了so的話,直接用Android Killer肯定沒法直接得到so里的代碼,我們需要先把apk文件解包,再讀取so中的代碼。下面介紹用apktool解apk包。

 

一 工具准備

  1 下載apktool,apktool下載地址:https://ibotpeaches.github.io/Apktool/。我下載的是2.3.4版本,把下載的apktool_2.3.4.jar文件改名為apktool.jar

  2 新建文本文件重命名文件為apktool.bat,編輯輸入以下內容:    

    @echo off
    if "%PATH_BASE%" == "" set PATH_BASE=%PATH%

    set PATH=%CD%;%PATH_BASE%;

    java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

  3 把apktool.jar和apktool.bat都放到同一個文件夾下,我放在了E:\Android\apktool目錄。

  4 打開命令行,來到apktool所在目錄,然后輸入apktool,成功會顯示apktool的版本信息和幫助信息,如圖:   (報錯Unable to access jarfile...的話看看apktool_2.3.4.jar文件改名為apktool.jar沒有)

  

二 解包apk

  1 cd進入apktool所在目錄,用apktool d命令解包apk,解包完成會在apktool目錄生成跟apk同名的文件夾。

    

  2 解包成功后可以在apktool目錄看到app-debug文件夾,打開app-debug\lib目錄,里面有不同平台的文件夾,里面有各個平台的so。再用工具去破解修改so就可以了

三 重打包apk

  so修改完成后,我們需要重新打包apk讓我們的修改生效。重打包用apktool b命令,可以用-o重命名apk。

  1 cd來到apktool目錄,使用apktool b app-debug -o app-debug.apk命令重打包apk,成功后看到在app-debug文件夾同級目錄生成了同名的apk    

    如果使用apktool b app-debug -o newapp.apk  命令重打包apk,成功后看到在app-debug同級目錄生成newapp.apk。

 apktool編譯打包的apk是不能直接安裝的,因為文件我們動過了,所以需要簽名,下節用SignApk.jar進行簽名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM