Apktool 是一个反编译Android Apk的第三方工具。它可以反编译资源,并在进行修改之后重新打包Apk。

1、安装 apktool

注意:apktool 依赖 Java1.8。请使用 java -version 查看,是否为1.8或更高版本。

主要的安装流程:

1、下载运行脚本,根据不同平台保存为不同的名字。--- 运行脚本非必须,但可以避免一次次的重复敲 java -jar ...  来执行操作

2、下载最新版本的 apktool.jar --- 下载后可能不叫这个名字,但是通过脚本运行的话,要求为这个名字,修改为这个就行

3、将脚本和jar放到同一个目录下 --- 官方建议放到指定目录,我试过Windows和Mac,并不是一定要放到指定目录,也可以正常使用

4、进入命令行,cd 到相应目录,执行命令

官网安装教程

apktool目录

2、手动build源码生成apktool

apktool的官网上详细介绍了如何build源码生成apktool:Apktool - Build Guide

apktool集合了几个子工程和依赖到一个工程中。其中包括:brut.apktool.lib - 主工程,主要逻辑代码

brut.apktool.cli - 命令行接口工程

brut.j.dir - 工具工程

brut.j.util -工具工程

brut.j.common -工具工程

要求JDK8,git(不从github上clone代码则不需要git)

build的步骤:

1、clone或者下载代码

git clone git://github.com/iBotPeaches/Apktool.git

2、在命令行中,进行到项目根目录下,执行gradlew.bat脚本,其他基于unix的系统执行./gradlew

3、打包shadowJar,此jar包会将依赖都打包进去。

gradlew.bat build shadowJar

4、打包混淆过的jar

gradlew.bat build shadowJar proguard

输出目录:./brut.apktool/apktool-cli/build/libs/apktool-xxxxx.jar

特别注意:Windows平台下,目录深度不能超过255个字符。目前apktool项目最深目录达到218个字符!所以apktool根目录的存放路径不能超过37个字符!!!

3、反编译apk

反编译命令:apktool d apk路径

执行过程中会输出主要步骤log

反编译apk

4、反编译结束后,反编译的内容均在目录下的 相应文件夹下 -- 文件夹名字与apk同名

反编译成功

5、重新打包

假如你进行了修改,现在进行重新打包

命令:apktool b 项目目录

我们使用的就是上一步反编译后,生成的目录

重新打包工程中,同样会输出主要步骤的log

重新打包

重新生成的apk位于目录中的 dist 目录下,如图

重新生成的apk

需要注意的是,重新生成的apk,是没有经过签名的,不能直接进行安装。关于apk的签名,这里不再赘述,自行百度,非常多。

下一篇,详细聊聊,apktool的各种参数作用。最终会有 apktool 的源码解析。

android apktool使用教程,Apktool 使用教程相关推荐

  1. 2021 Android APK反编译 apktool使用教程

    欢迎交流.微信公众号:一休日记. 目录 前言: 工具介绍: 新版本apktool用法: Smali2JavaUI 前言: 最近我在使用Android Studio混淆打包release版本,打包是否成 ...

  2. Android APK反编译 apktool使用教程

    下载apktool:https://ibotpeaches.github.io/Apktool/install/ 根据文档操作下载,命名等 工具介绍: apktool 作用:主要查看res文件下xml ...

  3. apktool反编译详细使用教程

    apktool反编译详细使用教程,包括每个细节.还有为什么反编译不成功,反编译出现的各种情况将为大家详细写出来,如有写的不好的地方还请见谅,这些都是本人自学的,曾经请教过大神,让我悲剧的是尽然无一人为 ...

  4. APP渗透—Android 7.0 抓包(教程)

    零基础学黑客,搜索公众号:白帽子左一 关于APP渗透的教程及思路,之前发过视频,视频地址:https://www.bilibili.com/video/BV1WK411w7UA/ 用到的工具 1.Pr ...

  5. Android混淆、反编译基础教程

    Android混淆.反编译基础教程 Android APK混淆 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理. 根据 SDK 的版本不同 ...

  6. Android反编译软件(附图详细教程)

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  7. Android逆向去掉某功能,逆向教程之-反编译apk完全精简删除菜单功能(二)

    本帖最后由 liuxiaoxin 于 2020-12-3 19:00 编辑 授人以鱼,不如授人以渔! 本教程图文并茂,步骤非常详细,偏小白向,大佬请自觉屏蔽. 使用工具:MT管理器免费版 被修改的软件 ...

  8. 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )

    文章目录 一.apktool 1.apktool 简介 2.直接解压 3.使用 apktool 反编译 4.使用 apktool 重新打包 二.dex2jar 1.dex2jar 简介 2.dex2j ...

  9. 使用Android Studio搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

最新文章

  1. CentOS 5.4 rsync+inotify配置触发式(实时)文件远程同步
  2. react中实现异步请求的方法一,react-thunk
  3. 关于同时可用git命令clone和TortoiseGit拉取代码不需要密码
  4. Js判断是否在微信浏览器中打开和微信版本号
  5. java1.8+pydev_Ubuntu 18.04.4 中使用 Eclipse+PyDev 配置 Python 开发环境
  6. qwidget设置背景颜色_Python+PyQt编程示例:设置窗口背景色及分割条颜色
  7. 搜狗输入法PC版 v10.5.0.4726 去广告精简版
  8. 【opencv】颜色空间总结
  9. P4设计实现链路监控
  10. 《机器学习实战》第二章 - k-近邻算法
  11. 文明重启怎么做RUST堡垒_文明重启怎么地下建房-地下建房技巧
  12. cracklib/pw_dict.pwd
  13. window上iPhone备份
  14. PhotoSwipe 滑动浏览图片插件使用方法
  15. 工作流管理系统的介绍及现状研究
  16. Linux网络编程——在线词典项目
  17. 三星s3 android4.4,三星s3刷安卓4.4.2的方法介绍
  18. [Excel函数] 关联匹配函数
  19. android 去重 比较两个list_Android 去除list集合中重复项的几种方法
  20. RocketMQ(十二)消息堆积与消息延迟

热门文章

  1. 定积分的应用之 柱壳法求旋转体体积
  2. 牛客暑假多校第二场 K carpet
  3. 如何根据边长数值计算六边形的面积
  4. 程序猿还在拿死工资?还不知道怎么利用技术挣钱?——python量化实践
  5. 靶机、软件搭建:05---Burp Suite工具的安装与使用(Windows环境)
  6. mybatis 实现动态数据源连接
  7. 华为人报:实事求是科研方向与20年艰苦努力
  8. 苹果usb设置在哪里_努比亚红魔3红魔3S打开开发者选项和USB调试功能
  9. 通过uart串口和printf函数打印
  10. java 科学计数法转换为普通数字_如何将计算器上的科学记数法转换为普通记数法?...