• 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进行签名。

  • 相关阅读:
    Shell脚本
    数据结构 栈 java 自带的数据结构
    桃夭
    得道多助,失道寡助
    采薇
    离骚
    两小儿辩日
    鱼我所欲也
    生于忧患,死于安乐
    曹刿论战
  • 原文地址:https://www.cnblogs.com/fengxing999/p/10019513.html
Copyright © 2020-2023  润新知