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

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

文章目录

前言

一、ApkTool 简介

二、ApkTool 解包和打包

1、使用 apktool 解包

2、使用 apktool 打包

前言

之前写的 ApkTool 相关博客 :


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

【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )

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





一、ApkTool 简介


参考 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx ) 一、apktool 博客章节 ;


官网地址 : https://ibotpeaches.github.io/Apktool/


文档地址 : https://ibotpeaches.github.io/Apktool/documentation/






二、ApkTool 解包和打包


ApkTool 的最重要的两个作用是 解包 和 打包 ;


解包 : 拿到 APK 文件 , 如果按照 zip 格式解压出来 , xml 文件都是乱码 ; APK 文件打包时 , 会将 xml 文件进行压缩转为二进制文件 , 以减小体积 ; 解包时 , 必须使用 ApkTool 解包工具 , 将二进制数据格式的 xml 文件转为 文本 xml 文件 , 才能获取刻度的 xml 文件 ;

打包 : 将使用 ApkTool 工具解包后的零散文件 , 再次打包成 APK 文件 ,

如果 APK 文件进行了加固处理 , 那么解包无法获取正确的 dex / so / 资源文件 , 无法进行重打包 ;


重打包操作 : 使用 ApkTool 工具 , 将 APK 解包 , 修改或注入 so 文件 , 然后再进行重打包 ;




1、使用 apktool 解包


执行 java -jar apktool_2.4.1.jar d demo.apk -o demo 命令 ,


java -jar apktool_2.4.1.jar d demo.apk -o demo


其中 d 后面是 要反编译的 apk 文件 ,


-o demo 的含义是 将反编译结果输出到 demo 目录中 ;


反编译过程 :


image.png


查看其中的 AndroidManifest.xml 文件 , 可以看到真实的文件内容 ;



image.png



2、使用 apktool 打包


将反编译后的文件 重新打包 ;


java -jar apktool_2.4.1.jar b demo -o demo_repackage.apk


b demo 是指定 要打包 demo 目录 ;


-o demo_repackage.apk 是指定新打包的 应用安装文件是 demo_repackage.apk ;


重新打包过程 :


image.png

目录
相关文章
|
4月前
|
缓存 算法 Java
Linux内核新特性年终大盘点-安卓杀后台现象减少的背后功臣MGLRU算法简介
MGLRU是一种新型内存管理算法,它的出现是为了弥补传统LRU(Least Recently Used)和LFU(Least Frequently Used)算法在缓存替换选择上的不足,LRU和LFU的共同缺点就是在做内存页面替换时,只考虑内存页面在最近一段时间内被访问的次数和最后一次的访问时间,但是一个页面的最近访问次数少或者最近一次的访问时间较早,可能仅仅是因为这个内存页面新近才被创建,属于刚刚完成初始化的年代代页面,它的频繁访问往往会出现在初始化之后的一段时间里,那么这时候就把这种年轻代的页面迁移出去
|
27天前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
12 1
|
6月前
|
SQL 人工智能 Java
Android 命令行工具简介
Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。
|
6月前
|
SQL 人工智能 移动开发
Android etc1tool之png图片转换pkm 和 zipalign简介
etc1tool 是一种命令行实用程序,可用于将 PNG 图片编码为 ETC1 压缩标准格式(PKM),并将 ETC1 压缩图片解码回 PNG。
|
2月前
|
Java 开发工具 Android开发
cordova打包android apk
cordova打包android apk
15 0
|
2月前
|
Android开发 数据安全/隐私保护
打包 android apk签名
打包 android apk签名
19 0
|
8月前
|
Java Linux API
#1,Android 体系结构 2000字简介 入门Android(Studio)开发
#1,Android 体系结构 2000字简介 入门Android(Studio)开发
|
3月前
|
JavaScript 前端开发 Java
React-Native Android打包
React-Native Android打包
31 0
|
3月前
|
JavaScript Android开发
Cordova 打包 Vue 项目到Android打开白屏
Cordova 打包 Vue 项目到Android打开白屏
|
4月前
|
Linux 网络安全 开发工具
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
65 0