apktool逆向apk包

Posted fengxing999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "%~dp0apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

  3 把apktool.jar和apktool.bat都放到同一个文件夹下,我放在了E:Androidapktool目录。

  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-debuglib目录,里面有不同平台的文件夹,里面有各个平台的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。

 


以上是关于apktool逆向apk包的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向APK 文件处理脚本 ApkTool.py ( 脚本简介 | 用法 | 分析 APK 文件 )

Android 逆向APK 文件处理脚本 ApkTool.py ( 脚本简介 | 用法 | 分析 APK 文件 )

反编译 APKTool 逆向助手

Android 逆向ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )

Android 逆向ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )

Android 逆向使用 Python 编写 APK 批处理分析工具