我从这个链接http://code.google.com/p/dex2jar/downloads/list中找到了将文件 dex 反编译为 jar 的解决方案,但我不明白如何使用它。
13 回答
请按照以下步骤进行操作_
- 重命名您的 APK 文件(例如,将您的 APK 文件重命名为 .zip Ex- test.apk -> test.zip)并提取生成的 zip 文件。
- 将您的.dex 文件复制到dex2jar文件夹中。
- 运行setclasspath.bat。这应该运行,因为此数据将用于下一步。
- 转到 Windows 命令提示符,将文件夹路径更改为dex2jar文件夹的路径,然后运行以下命令: d2j-dex2jar.bat classes.dex
- 请享用!!您的 jar 文件将在名称为classes_dex2jar.jar的同一文件夹中准备好。
希望这对您和所有阅读此书的人都有帮助... :)
Step 1 解压dex2jar.*.*.zip文件的内容 第 2 步将您的 .dex 文件复制到提取的目录中 第 3 步在 windows 上执行 dex2jar.bat <.dex 文件名>,或者在 linux 上执行 ./dex2jar.sh <.dex 文件名>
- 下载 dex2jar https://code.google.com/p/dex2jar/downloads/list
- 在 apk 上运行 dex2jar
d2j-dex2jar.sh someApk.apk
- 在 JD GUI http://jd.benow.ca/中打开 jar 文件
遵循本指南:https ://code.google.com/p/dex2jar/wiki/UserGuide
--2016 年 10 月 11 日更新--
从 Google 的 github 找到这个 ClassyShark 很容易从 APK 中查看代码。
https://github.com/google/android-classyshark
// 确保您下载了发布版本https://github.com/pxb1988/dex2jar/releases(对于那些在 /dex2jar/downloads/list 中找不到此链接的人来说
旧链接
dex2jar 语法
- 在https://github.com/pxb1988/dex2jar中,您可以看到您的预期用法/语法:
sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk
- 可以从 转换
apk
为jar
。
想要
dex
_jar
- 如果您有
dex
文件(例如,使用FDex2
正在运行的 android apk/app 中的转储),那么您可以: sh d2j-dex2jar.sh -f ~/path/to/dex_to_decompile.dex
- 可以
jar
从dex
. - 例子:
/xxx/dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f com.huili.readingclub8825612.dex dex2jar com.huili.readingclub8825612.dex -> ./com.huili.readingclub8825612-dex2jar.jar
- 如果您有
想要
jar
_java src
- 如果您继续想从
jar
to转换java sourcecode
,那么您有多项选择:- 使用
Jadx
直接转换dex
为java sourcecode
- 首先转换
dex
为jar, second convert
jarto
java源代码`
- 使用
- 如果您继续想从
笔记
怎么得到d2j-dex2jar.sh
?
从dex2jar github release下载,得到dex-tools-2.1-SNAPSHOT.zip,解压然后得到
- 你期望 Linux 的
d2j-dex2jar.sh
- 和 Windows 的
d2j-dex2jar.bat
- 和相关的其他工具
d2j-jar2dex.sh
d2j-dex2smali.sh
d2j-baksmali.sh
d2j-apk-sign.sh
- 等等
- 和 Windows 的
dex
转换为的完整过程是java sourcecode
什么?
您可以在另一篇文章中参考我(crifan)的完整答案:android - 将 DEX 反编译为 Java 源代码 - 代码日志
或者参考我的完整教程(但是用中文写的):安卓应用的安全和破解
如果有人仍在寻找一种简单的方法来反编译 APK(使用资源反编译),请查看我创建的工具:https ://github.com/dirkvranckaert/AndroidDecompiler
只需在本地签出项目并按照文档运行脚本,您将获得所有资源和源代码的反编译。
您可以反编译您的 .apk 文件并在线下载。
如果您正在寻找适用于 windows 的版本,请从 source forge 获取: https ://sourceforge.net/projects/dex2jar/
它有你需要的 d2j-dex2jar.bat 文件
- 下载 Dex2jar 并解压。
- 转到下载路径 ./d2j-dex2jar.sh /path-to-your/someApk.apk 如果 .sh 不可编译,请更新权限:chmod a+x d2j-dex2jar.sh。
- 它将生成 .jar 文件。
- 现在使用带有JD-GUI的jar来反编译它
提取 classes.dex 文件后,只需将其拖放到 d2j-dex2jar
可以如下使用:
- 在此处下载 dex2jar并解压。
- 在此处下载 Java 反编译器(如果您想研究.class文件)
- 让您发布.apk文件并使用.zip更改其扩展名
- 提取 .zip 并找到classes.dex和classes2.dex
- 将这些文件粘贴到 dex2jar 文件夹中,其中存在 dex2jar 的.bat文件(通常名称为d2j-dex2jar)
- 从 dex2jar 文件夹中,打开 cmd [Shift+右键单击查看打开 cmd/power shell 的选项]
- 在cmd中输入命令:
d2j-dex2jar release.apk
- 你会得到 .class 文件,在 Java Decompiler 中打开这个文件。
以下网址与上述答案相同。您可以尝试通过以下方式进行反编译,而不是下载一些 jar 文件并进行大量活动: