64

我从这个链接http://code.google.com/p/dex2jar/downloads/list中找到了将文件 dex 反编译为 jar 的解决方案,但我不明白如何使用它。

4

13 回答 13

87

请按照以下步骤进行操作_

  1. 重命名您的 APK 文件(例如,将您的 APK 文件重命名为 .zip Ex- test.apk -> test.zip)并提取生成的 zip 文件。
  2. 将您的.dex 文件复制到dex2jar文件夹中。
  3. 运行setclasspath.bat。这应该运行,因为此数据将用于下一步。
  4. 转到 Windows 命令提示符,将文件夹路径更改为dex2jar文件夹的路径,然后运行以下命令: d2j-dex2jar.bat classes.dex
  5. 请享用!!您的 jar 文件将在名称为classes_dex2jar.jar的同一文件夹中准备好。

希望这对您和所有阅读此书的人都有帮助... :)

于 2013-11-13T13:22:10.447 回答
42
Step 1 解压dex2jar.*.*.zip文件的内容
第 2 步将您的 .dex 文件复制到提取的目录中
第 3 步在 windows 上执行 dex2jar.bat <.dex 文件名>,或者在 linux 上执行 ./dex2jar.sh <.dex 文件名>
于 2011-07-14T04:32:30.730 回答
41
  1. 下载 dex2jar https://code.google.com/p/dex2jar/downloads/list
  2. 在 apk 上运行 dex2jard2j-dex2jar.sh someApk.apk
  3. 在 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 中找不到此链接的人来说

于 2014-05-05T20:08:52.820 回答
28

简单的方法

  1. 重命名你的test.apk => test.zip
  2. 提取 test.zip 然后打开该文件夹
  3. 下载dex2jax并解压
  4. 从测试文件夹复制 classes.dex 文件
  5. 过去到 dex2jar 提取的文件夹
  6. 如果使用 Windows 按AltD键然后键入cmdEnter(打开到 cmd)
  7. 运行命令d2j-dex2jar.bat classes.dex
  8. 下载JD-GUI
  9. 将 classes-dex2jar.jar 文件移动到 JD-GUI
  10. 一切搞定..
于 2016-09-23T06:34:34.130 回答
5
  1. 旧链接

  2. dex2jar 语法

  3. 想要dex_jar

    • 如果您有dex文件(例如,使用FDex2正在运行的 android apk/app 中的转储),那么您可以:
    • sh d2j-dex2jar.sh -f ~/path/to/dex_to_decompile.dex
    • 可以jardex.
    • 例子:
    • /xxx/dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f com.huili.readingclub8825612.dex dex2jar com.huili.readingclub8825612.dex -> ./com.huili.readingclub8825612-dex2jar.jar
  4. 想要jar_java src

    • 如果您继续想从jarto转换java sourcecode,那么您有多项选择:
      • 使用Jadx直接转换dexjava sourcecode
      • 首先转换dexjar, second convertjar tojava源代码`

笔记

怎么得到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
    • 等等

dex转换为的完整过程是java sourcecode什么?

您可以在另一篇文章中参考我(crifan)的完整答案:android - 将 DEX 反编译为 Java 源代码 - 代码日志

或者参考我的完整教程(但是用中文写的):安卓应用的安全和破解

于 2019-04-03T03:16:02.953 回答
4

如果有人仍在寻找一种简单的方法来反编译 APK(使用资源反编译),请查看我创建的工具:https ://github.com/dirkvranckaert/AndroidDecompiler

只需在本地签出项目并按照文档运行脚本,您将获得所有资源和源代码的反编译。

于 2014-09-19T07:15:49.053 回答
4

您可以反编译您的 .apk 文件并在线下载。

http://www.javadecompilers.com/

于 2015-10-07T06:54:47.873 回答
3
  1. 从这里下载最新的 dex2jar -> dex2jar
  2. 在 linux 上运行这个命令 -> sh d2j-dex2jar.sh classes.dex
  3. 从这里下载java反编译器-> JD-GUI
  4. 将classes-dex2jar.jar文件拖放到JD-GUI
于 2016-09-26T06:17:44.550 回答
2

如果您正在寻找适用于 windows 的版本,请从 source forge 获取: https ://sourceforge.net/projects/dex2jar/

它有你需要的 d2j-dex2jar.bat 文件

于 2016-11-05T14:22:20.490 回答
1
  1. 下载 Dex2jar 并解压。
  2. 转到下载路径 ./d2j-dex2jar.sh /path-to-your/someApk.apk 如果 .sh 不可编译,请更新权限:chmod a+x d2j-dex2jar.sh。
  3. 它将生成 .jar 文件。
  4. 现在使用带有JD-GUI的jar来反编译它
于 2017-03-09T03:54:01.403 回答
0

提取 classes.dex 文件后,只需将其拖放到 d2j-dex2jar

于 2017-05-10T18:41:51.397 回答
0

可以如下使用:

  1. 在此处下载 dex2jar并解压。
  2. 在此处下载 Java 反编译器(如果您想研究.class文件)
  3. 让您发布.apk文件并使用.zip更改其扩展名
  4. 提取 .zip 并找到classes.dexclasses2.dex
  5. 将这些文件粘贴到 dex2jar 文件夹中,其中存在 dex2jar 的.bat文件(通常名称为d2j-dex2jar
  6. 从 dex2jar 文件夹中,打开 cmd [Shift+右键单击查看打开 cmd/power shell 的选项]
  7. 在cmd中输入命令:d2j-dex2jar release.apk
  8. 你会得到 .class 文件,在 Java Decompiler 中打开这个文件。
于 2020-12-08T14:35:14.040 回答
0

以下网址与上述答案相同。您可以尝试通过以下方式进行反编译,而不是下载一些 jar 文件并进行大量活动:

http://apk-deguard.com/

于 2018-03-02T07:04:42.877 回答