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就可以了(下一节破解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。

猜你喜欢

转载自www.cnblogs.com/fengxing999/p/10019513.html