apktool反编译,重打包
来源:互联网 发布:mac添加微软雅黑字体 编辑:程序博客网 时间:2024/06/05 19:14
apktool 安卓逆向工程的工具,能解码apk文件到源文件,也能在做出修改后重新打包。
官方下载地址 https://ibotpeaches.github.io/Apktool/install/
apk其实跟一般的zip包差别不大,如果我们将apk包解压出来,我们也能看到源文件,但是如果打开文件比如:AndroidManifest.xml,并看不了
我们用apktool 反编译
$ apktool d testapp.apkI: Using Apktool 2.0.0 on testapp.apkI: Loading resource table...I: Decoding AndroidManifest.xml with resources...I: Loading resource table from file: 1.apkI: Regular manifest package...I: Decoding file-resources...I: Decoding values */* XMLs...I: Baksmaling classes.dex...I: Copying assets and libs...$
清单文件,资源文件,这些都能很方便得修改,比如改个logo,改个应用名啥的。还有一个重要的文件夹叫smali,里面都是反编译java文件后产生的代码,相当于JVM的class文件,介个有点汇编语言的感觉,但是简单了很多很多,所以要改代码执行的走向,还是得好好研究一下smali的语法。
解码命令:
$ apktool d foo.jar// decodes foo.jar to foo.jar.out folder$ apktool decode foo.jar// decodes foo.jar to foo.jar.out folder$ apktool d bar.apk// decodes bar.apk to bar folder$ apktool decode bar.apk// decodes bar.apk to bar folder$ apktool d bar.apk -o baz// decodes bar.apk to baz folder
构建命令:
$ apktool b foo.jar.out// builds foo.jar.out folder into foo.jar.out/dist/foo.jar file$ apktool build foo.jar.out// builds foo.jar.out folder into foo.jar.out/dist/foo.jar file$ apktool b bar// builds bar folder into bar/dist/bar.apk file$ apktool b .// builds current directory into ./dist$ apktool b bar -o new_bar.apk// builds bar folder into new_bar.apk$ apktool b bar.apk// WRONG: brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml// Must use folder, not apk/jar file
构建命令建议带上输出目录,否则可能会找不到构建出来的apk文件在哪儿。
然后,重新构建后的apk是没有签名的,安装不到手机上。我们需要使用apksigner来签名,apksigner在Android SDK Build Tools 24.0.3以上版本目录下会有,
签名命令如下:
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
完。
阅读全文
0 0
- apktool反编译,重打包
- apk反编译重打包
- apk重打包(不使用apktool)
- Apktool重打包Apk详细介绍
- APK反编译、修改、重打包、签名
- android开发 反编译 重打包 签名流程
- 安卓apk反编译重打包
- Android APK反编译、重打包、重签名
- Android apk包反编译与重打包签名
- Android apk反编译 重打包 重签名 对齐
- 使用apktool等工具反编译apk包
- Android反编译和再打包神器:Apktool
- apktool 反编译
- apkTool反编译
- Android重打包
- Android apk重打包
- 谈谈Android重打包--初语
- 谈谈Android重打包--雷区
- C++ 获取局域网内所有可用IP和主机名
- Python·Win10通过Anaconda安装python和Jupyter(python2.7为例)
- 笔记本ubuntu14.04系统安装NVIDIA-GTK1060的显卡驱动
- Linux 定时备份oracle数据库
- 技术文章 | iOS 防 DNS 污染方案调研--- HTTPS(非SNI) 业务场景
- apktool反编译,重打包
- 事件分发机制
- 死磕 Java 并发 :Java 内存模型之 happens-before
- Console.WriteLine()格式化输出小记
- Python之异常
- 云博士智能决策能力介绍
- DataGridView控件设置某一列单元格的小数点位数
- 并发执行,进程同步,进程互斥,异步,并行,多线程的区别
- 剑指offer 25 二叉树中和为某一值的路径