zoukankan      html  css  js  c++  java
  • 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就可以了

    三 重打包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进行签名。

  • 相关阅读:
    LeetCode 1122. Relative Sort Array (数组的相对排序)
    LeetCode 46. Permutations (全排列)
    LeetCode 47. Permutations II (全排列 II)
    LeetCode 77. Combinations (组合)
    LeetCode 1005. Maximize Sum Of Array After K Negations (K 次取反后最大化的数组和)
    LeetCode 922. Sort Array By Parity II (按奇偶排序数组 II)
    LeetCode 1219. Path with Maximum Gold (黄金矿工)
    LeetCode 1029. Two City Scheduling (两地调度)
    LeetCode 392. Is Subsequence (判断子序列)
    写程序判断系统是大端序还是小端序
  • 原文地址:https://www.cnblogs.com/fengxing999/p/10019513.html
Copyright © 2011-2022 走看看