-
2018-10-17 16:26:29
apktool(提取资源文件)
资源文件获取,可以提取出图片文件和布局文件进行使用查看。
下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads/
APK文件无非就是一个zip压缩包,但是直接用unzip
命令解压,会增大编译源,从而无法进行下一步的查看或反编译。apktool
就是扮演这么一个角色,可以加压缩,并且可以正常解码文件。
apktool常见的一些命令参数:
d
或decode
用来解码后面的apk文件。
-o
output输出文件。
b
或build
创建apk包。
if
或install-framework
安装框架到apk。# 解码或解压bar.apk,并输出到baz文件夹 apktool d bar.apk -o baz # 压缩bar文件加并创建new_bar.apk文件 apktool b bar -o new_bar.apk # 安装框架到foo/bar/1-baz.apk,p是path路径,t是tag标记。 apktool if framework-res.apk -t baz -p foo/bar
dex2jar(dex转jar)
将apk反编译成java源码(classes.dex转化成jar文件)。
下载地址:https://sourceforge.net/projects/dex2jar/files/
使用方法:
首先把apk文件扩展名改为zip,然后解压缩,就得到了classes.dex
和resources.arsc
,
然后运行一下命令:# Linux sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.jar # windows d2j-dex2jar.bat -f ~/path/to/apk_to_decompile.jar
就得到了反编译的jar包。
jd-gui 查看源码(不推荐用)
查看APK中classes.dex转化成出的jar文件,即源码文件。
下载地址:http://jd.benow.ca/
需要java 1.7.0
运行jd-gui.exe
。
或D:\jdk7\bin\java.exe -jar jd-gui-1.4.0.jar
(注意jdk7的目录)。
Luyten反编译查看源码
jd-gui
反编译不是很准,建议用Luyten
,最关键的是兼容Java新版本。
下载地址:https://github.com/deathmarine/Luyten/releases
执行java -jar luyten-0.5.3.jar
就能打开可视化界面了。参考
https://ibotpeaches.github.io/Apktool/documentation/
https://github.com/pxb1988/dex2jar
https://github.com/deathmarine/Luyten更多相关内容 -
反编译apk工具
2019-04-14 10:53:29反编译apk所需的工具,包含apktool,dex2jar-0.0.9.15,jd-gui-0.3.5.windows -
反编译apk(一键反编译)
2017-11-02 09:49:261. 下载成功后解压 2. 将apk文件放到onekey-decompile-apk目录下 3. 将apk文件拖拽到_onekey-decompile-apk.bat上 ... 会在onekey-decompile-apk目录下生成和apk同名的jar文件(dex2jar反编译出来的class) -
批处理反编译apk_apktool_2.4.1.rar
2020-11-26 15:01:24APK 反编译,已经更新到APK TOOL ,支持Android10反编译 Requirements Java 8 (JRE 1.8) Basic knowledge of Android SDK, AAPT and smali -
反编译apk文件查看源码,反编译apk获取资源-附件资源
2021-03-02 15:04:11反编译apk文件查看源码,反编译apk获取资源-附件资源 -
绿色版一键反编译apk包
2018-02-05 14:50:02无需安装,解压之后可直接用。一键解析apk代码和资源文件 -
android安卓app反编译apk反编译教程.zip_android反编译smali
2021-01-12 18:49:30android安卓app反编译apk反编译教程.zip -
反编译apk tool
2015-03-27 11:36:56反编译需要的工具 apktool dex2jar jd-gui.exe -
简单反编译apk,不需要更多工具!傻瓜式反编译。-附件资源
2021-03-02 15:05:49简单反编译apk,不需要更多工具!傻瓜式反编译。-附件资源 -
反编译Apk文件工具集合
2019-03-11 17:05:54反编译Apk文件工具集合,包括:jd-gui,dex2jar-2.0,apktool -
Android反编译apk工具
2016-10-14 16:23:07jadx-0.6.1-dev-build226,Android反编译apk工具,你值得拥有! -
APK 反编译工具 ApkToolkit v3.0 绿色中文版.zip
2021-05-15 22:16:06这款APK反编译工具(ApkToolkit)拥有编译、反编译、签名等功能,对于经常DIY安卓软件的朋友来说,是必不可少的工具。能够支持WIN7系统,但是这款安卓apk反编译工具暂不支持WIN8系统。 APK 反编译工具 ApkToolkit ... -
一键反编译APK功能
2021-04-04 21:12:04源码DecompileApk,一键反编译 APK,输出所有反编译后的代码、资源,如 dex , jar , smali , xml , AndroidManifest.xml , res 。其实它用的也是我们常用的反编译工具:dex2jar-0.0.9.15 , apktool_2.0.0.3.jar , ... -
反编译APK工具
2018-08-06 13:49:03《apk+dex文件反编译及回编译工具》 简称 apkdb 是一款针对android os系统的apk程序,直接反编译修改的工具。apkdb集合了当今最强悍,最犀利的apk及dex文件编译工具;正常安装后,它直接在【鼠标右键】创建快捷菜单... -
反编译apk为java代码的工具
2013-07-11 20:51:29反编译apk得到其源代码。方法如下 1.首先找到Android软件安装包中的classes.dex 把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个... -
Android反编译apk,修改资源,打包,签名全过程-附件资源
2021-03-02 15:06:59Android反编译apk,修改资源,打包,签名全过程-附件资源 -
反编译apk神器
2017-07-21 13:45:02快速获得反编译apk的代码和里面的布局资源 -
反编译 APK 的基本步骤
2022-02-09 14:56:17文章目录反编译 APK 的基本步骤1.编写一个简单的安卓 app2.将 release-app.apk 解压缩3.将 classes.dex 文件反编译为 jar 文件4.使用 jd-gui 可视化阅读 classes-dex2jar.jar 文件内容5.使用 apktool 反汇编 release...文章目录
反编译 APK 的基本步骤
本文简要说明一个 apk(未加固) 的反编译步骤以及所使用到的工具,下列工具在网上均可以下载到
- apktool
- dex2jar
- jd-gui
1.编写一个简单的安卓 app
在此处编写一个简单的 app,并且该 app 没有进行过加固,并将 app 打包成 apk,例如此处的为 release-app.apk
2.将 release-app.apk 解压缩
将 release-app.apk 改扩展名为 release-app.zip(apk 其实是基于 zip 文件格式的文件),并执行解压缩,得到如下目录结构
- AndroidManifest.xml:Android 的清单文件,该文件向系统提供应用的必要信息
- classes.dex:classes 文件通过 DEX 编译后的文件格式,用于在 Dalvik 或 ART 上加载运行的文件
- lib:存放不同 cpu 架构下的 so 库文件
- META-INF:存放的是签名的信息,用来保证 apk 包的完整性和系统的安全
- res:存放资源文件
- resources.arsc:编译后的二进制文件。通常本地化资源存储在该文件中
3.将 classes.dex 文件反编译为 jar 文件
由于 dex 文件是汇编指令级别的,不可阅读,所以通过 dex2jar 工具将汇编代码转换为 jar 文件
$ d2j-dex2jar classes.dex
会在当前目录下生成一个 classes-dex2jar.jar 文件
4.使用 jd-gui 可视化阅读 classes-dex2jar.jar 文件内容
可以通过 jd-gui 来阅读你关注的代码逻辑
5.使用 apktool 反汇编 app-release.apk
如果想要修改 app 的内部逻辑,光是阅读代码逻辑是不够的,还需要进行内部逻辑的修改,这时,apktool 就派上了用场
$ apktool d app-release.apk -o release-out
可以得到 release-out 的内部结构大致如下:
- AndroidManifest.xml:该文件是经过 apktool 处理过后的清单文件,具备可读性
- apktool.yml:apktool 生成的文件,可不用关注
- lib:存放不同 cpu 架构下的 so 库文件
- original:里面存放原始 AndroidManifest.xml 和 META-INF
- res:经过 apktool 处理后的资源文件
- smail:claases.dex 反汇编后的代码(可以对 smail 文件进行修改来改变执行逻辑)
smail 文件的大体样式如下
.class public Lcom/example/ndkdemo/MainActivity; .super Ljava/lang/Object; .source "MainActivity.java" # direct methods .method static constructor <clinit>()V .locals 1 const-string v0, "ndkdemo" .line 6 invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V return-void .end method .method public constructor <init>()V .locals 0 .line 3 invoke-direct {p0}, Ljava/lang/Object;-><init>()V return-void .end method # virtual methods .method public native stringFromJNI()Ljava/lang/String; .end method
smail 的汇编指令,可以自行在网上进行学习
6.回编 apk
对 smail 中相关逻辑进行修改,可对 apk 进行回编
$ apktool b -o repackaged.apk release-out
7.重新签名 apk 和对齐
$ keytool -genkey -v -keystore custom.keystore -alias mykeyaliasname -keyalg RSA -keysize 2048 -validity 10000 # 签名 apk $ jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore custom.keystore -storepass mystorepass repackaged.apk mykeyaliasname # 校验你创建的 apk $ jarsigner -verify repackaged.apk # 对齐 apk $ zipalign 4 repackaged.apk repackaged-final.apk
8.重新安装 apk 到你的设备
$ adb install repackaged-final.apk
-
Android 反编译APK + 工具+教程
2017-09-29 13:09:07Android 反编译APK + 工具+教程;Android 反编译APK + 工具+教程;Android 反编译APK + 工具+教程; -
Mac上反编译apk的几种办法
2021-03-30 16:51:191 apktool + dex2jar + jd-gui ...# 反编译目标APK文件,执行完毕后目录下会生成反编译apk的对应文件夹 apktool d abc.apk # 编译生成的classes.dex文件 dex2jar 从这里下载 dex2jar 解压dex2jar sh d2j-d1 apktool + dex2jar + jd-gui
apktool
#apktool: brew install apktool # check apktool install sw@MacBook-Pro ~ % apktool -version 2.4.1 # 反编译目标APK文件,执行完毕后目录下会生成反编译apk的对应文件夹 apktool d abc.apk # 编译生成的classes.dex文件
dex2jar
从这里下载 dex2jar
解压dex2jarsh d2j-dex2jar.sh classes.dex --force 生成 classes-dex2jar.jar
jd-gui
从这里下载 jd-gui
解压打开,将上面的 jar 拖入即可
2 Decompile APK(反编译APK)
# sw@MacBook-Pro ~ % cd Downloads/decompile-apk-2.2 sw@MacBook-Pro decompile-apk-2.2 % pwd /Users/sw/Downloads/decompile-apk-2.2 # 运行反编译 APK sw@MacBook-Pro decompile-apk-2.2 % ./decompile-apk.sh /Users/sw/Documents/leon_workspace/apk_get/wenshuapp.apk You can choose the following three ways to decompile an apk file # 选择想要用的 JADX 1: using apktool/dex2jar/jd-gui to decompile apk 2: using ClassyShark to decompile apk 3: using jadx to decompile apk 4: using bytecode-viewer to decompile apk q: exit Please input your choice(1, 2, 3, 4):3 View the decompile file INFO - output directory: wenshuapp INFO - loading ...
这种比上面的编译结果更准确,同时支持的搜索等功能也更多 -
Android反编译APK查看
2019-06-01 04:54:48NULL 博文链接:https://chenzheng8975.iteye.com/blog/2113392 -
Android-DecompileApk-一键反编译APK
2019-08-12 17:17:28DecompileApk - 一键反编译 APK,输出所有反编译后的代码、资源,使用方便 -
Ubuntu(Linux)反编译apk(apktool)
2012-12-18 22:01:15把apk拷到apktool根目录下,执行:./apktool d xxx.apk,会生成xxx目录,里面有res目录(各种资源文件),smali目录(类似src目录,里面文件的语法不一样)及AndroidManifest.xml。 [*.apk->*.jar: sh ./dex2jar/... -
一键反编译APK DOS脚本
2018-09-11 17:49:40一键反编译APK脚本.rar dex2jar-tools-2.1.zip jd-gui-windows-1.4.0.zip apktool_2.3.4.jar -
Windows反编译apk(小寒工具箱)
2012-12-18 23:18:50感谢水域小寒!!! 小寒工具箱,功能强大,不解释。 请看:http://blog.csdn.net/zhouyuanjing/article/details/7446988 -
ubuntu反编译apk用到的工具包
2016-06-24 11:00:10ubuntu反编译apk用到的工具包:apktool1.4.3.tar.bz2、apktool-install-linux-r04-brut1.tar.bz2、dex2jar-2.0.zip、jd-gui_1.4.0-0_all.deb -
反编译apk|apk反编译工具apktool v1.5.2 绿色汉化版.zip
2019-07-13 17:07:48apktool是apk反编译工具能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。 使用方法: 普通APK: 1.将APK放置到APKTool目录下,并改名为123.apk 2.... -
java查看函数源码-decompile-apk::fire:DecompileAPK(反编译APK)
2021-06-05 05:36:27java查看函数源码反编译apk decompile-apk 工具由一些脚本和不同的工具组成,它可以提供自动反编译功能,用于从显示在 GUI 上的 Android Apk 文件生成 Java 源代码和资源。 jd-gui 杰德 优雅的鲨鱼 字节码查看器 ...