apk反编译工具有:1、APKTool;2、Virtuous Ten Studio;3、ApkAnalyser;4、APKDB;5、JADX;6、ApkToolkit;7、jd-gui;8、Smali2Java。其中,APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk。
1、APKTool
APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。需要java支持。
功能:
- 将资源解码成原来的形式(包括resources.arsc,class.dex,9.png和xml)
- 将解码的资源重新打包成apk/jar
- 组织和处理依赖于框架资源的APK
- Smali调试执行自动化任务
2、Virtuous Ten Studio
Virtuous Ten Studio是一个专业的APK反编译软件,通过它我们就可以对安卓apk文件进行反编译,可以查看到应用代码。从而可以学习一下别人制作安卓软件的时候代码中的一些技巧,还可以用它对APK代码进行修改,帮助用户对应用进行魔改,打造出自己想要的效果。支持所有类型格式文件的编辑处理,包括.M10文件的编辑。
功能特色:
- 可用性编辑M10文件
- 支持所有意义的版本
- 与M10文件与专用M10项目或通过联合APK项目
- 反编译M10图像所有意义的版本来创建HTC Sense主题
- 快速分析的内容与M10结构查看器
- 验证您的M10的变化与语法检查器
- 无关紧要的M10部分灰色或完全隐藏
- 提高你的有用的添加工作流
- 轻松创建备份你的项目
- 比较容易的专用接口比较文件、文件夹或项目
3、ApkAnalyser
APKAnalyser 是 Android 静态,虚拟分析工具,用来测试和验证 Android 应用的开发工作。ApkAnalyser 是个完整的工具链,可以修改二进制应用。用户可以改装,安装,运行,验证 logcat 的结果。ApkAnalyser 同时支持资源分析,可以解码 XML,查找资源指向和检测应用潜在问题。ApkAnalyser 是个独立的 J2SE 应用,遵循 Apache 开源协议,完全使用 Java 编写。
4、APKDB
APKDB是一款APK+Dex文件反编译及回编译工具,针对Android OS系统的APK文件编译程序,直接反编译修改的工具包。
功能特性:
- 对*.Apk 文件 反编译 及 回编译 用于汉化修改
- 对*.Dex 文件 反编译 及 回编译 或查看详细源代码
- 对*.Apk 文件 批量反编译 及 回编译
- 对*.Apk、*.Zip 文件执行签名
- 对*.Zip ROM刷机包直接刷机
- Windows下直接显示apk文件自身图标
5、JADX
jadx 是一款功能强大的反编译工具,使用起来简单方便(拖拽式操作),不光提供了命令行程序,还提供了 GUI 程序。一般情况下,我们直接使用 GUI 程序就可以了。jadx 支持 Windows、Linux、 macOS,能够帮我们打开.apk, .dex, .jar,.zip等格式的文件。
6、ApkToolkit
ApkToolkit绿色版是一款安卓APK反编译工具。ApkToolkit拥有编译、反编译、签名等功能,对于经常DIY安卓软件的朋友来说,是必不可少的工具。ApkToolkit是一款apk反编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。ApkToolkit apk反编译工具将为你提供优异的反编译服务,让你轻松获得自己所需的apk中的内容,请注意,软件暂不支持WIN8、WINXP系统。
7、jd-gui
JD-GUI是一款反编译软件,JD分为JD-GUI、JD-Eclipse两种运行方式,JD-GUI是以单独的程序的方式运行,JD-Eclipse则是以一个Eclipse插件的方式运行。JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov 开发,支持 Windows、Linux 和苹果 Mac Os 三个平台。
8、Smali2Java
smali2java是一个将smali代码反编译成java代码的工具。smali2java工具基于apktool v1.5.0(baksmali v1.3.4)生成的smali文件,依赖于smali文件中的代码行数(.line关键字)和变量别名(.local关键字)等信息,可以最大程度还原原始的java代码。还原出的java代码将具有原始的变量命名,代码的顺序也与原始的java代码保持一致。因此,本工具也具有局限性,仅适用于带有行数和变量别名信息的smali文件(java编译器的编译选项可以在生成的字节码中剔除这些信息)。
延伸阅读
什么是反编译器
将源代码转换成二进制执行代码的过程叫“编译”,比如将C源代码编译成exe可执行文件;那么把二进制执行代码转换成源代码的过程就叫“反编译”,比如把exe转换为C源代码就叫“反编译”。
由于主流的C的编译器都进行了代码的优化,因此把C编译生成的exe文件反编译成C代码非常困难。但是像Java、.net这样基于虚拟机技术的编程语言则反编译非常容易,Java平台下有Jad、Jode、JD等反编译器,.net平台下则有Reflector等反编译器,反编译质量非常高,甚至和源代码几乎没什么差别。
文章标题:apk反编译工具有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34409