Mac 安装 Java 反编译工具 JD-GUI

Mac 安装 Java 反编译工具 JD-GUI

JD-GUI 是一款 Java 反编译工具,可以方便的将编译好的 .class 文件反编译为 .java 源码文件,用于开发调试、源码学习等。

官网地址:http://java-decompiler.github.io

Git 地址:https://github.com/java-decompiler/jd-gui

安装

方式一:

下载地址:https://github.com/java-decompiler/jd-gui/releases

选择对应平台的资源进行下载,这里可选择:jd-gui-osx-1.6.6.tar
在这里插入图片描述

方式二:

利用 brew 安装(该方式需要先安装 brew cask)打开终端窗口,输入下面命令:

brew cask install jd-gui

➜  brew cask install jd-gui
Error: Unknown command: cask

如果该命令找不到,可用下面的命令:

➜  ~ brew install --cask jd-gui
==> Downloading https://github.com/java-decompiler/jd-gui/releases/download/v1.6.6/jd-gui-osx-1.6.6.tar
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/32844456/fa071080-272d-11ea-8371-7bb24509723f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211
######################################################################## 100.0%
==> Installing Cask jd-gui
==> Moving App 'JD-GUI.app' to '/Applications/JD-GUI.app'
🍺  jd-gui was successfully installed!

安装结果:

在这里插入图片描述

如果没有安装 brew cask,输入brew install --cask jd-gui命令,可能会出现以下错误:

Error: Invalid cask: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/hazeover.rb
Cask 'hazeover' is unreadable: undefined method `csv' for "1.8.9,1050,10.13":Cask::DSL::Version

brew cask 可参考博客:https://blog.csdn.net/m0_46197393/article/details/106752367

使用

直接打开

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1CDi4w4q-1638524064147)(/Users/heguitang/Library/Application Support/typora-user-images/image-20211203095646013.png)]

注意事项

1.打开提示找不到合适的 Java 版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fd9dnCgE-1638524064148)(/Users/heguitang/Library/Application Support/typora-user-images/image-20211203095720208.png)]

查看 JD-GUI.app 中的内容(访达->应用程序->JD-GUI->右键 查看包内容),发现实际上还是执行的 JD-GUI 的 jar 包在JD-GUI.app/Contents/Resources目录下,是通过sh脚本文件启动的,脚本文件在JD-GUI.app/Contents/MacOS/universalJavaApplicationStub.sh中,修改该脚本文件即可。

可以看出该错误正是235行抛出的错误,这里主要是对Java版本做一个判断。
在这里插入图片描述

一个简单的处理办法就是,将其else分支中的内容改为 Java 命令的路径,而不是直接抛出错误。查看 Java 命令路径可以使用which java

➜  ~ which java
/usr/bin/java

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bfZ5Es4X-1638524064149)(/Users/heguitang/Library/Application Support/typora-user-images/image-20211203163924237.png)]

2.解决在 macOS 下闪退问题

有时候,一台电脑上会装多个 JDK,需要注意的是,运行 JD-GUI 所需 Java 版本最高为 JDK 10.0.2(可在官网文档查看),否则会出现闪退、无法使用等问题,所以需要修改设置进行指定。

首先,使用如下命令,查看 jdk 的安装路径:

# 这里查找 1.8 的路径,根据自己电脑上JDK情况而定
➜ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home

其次,使用文本编辑器打开文件 /Applications/JD-GUI.app/Contents/MacOS/universalJavaApplicationStub.sh,修改如下部分:

# first check system variable "$JAVA_HOME"
# 这里的配置默认找的是系统环境变量中配置的 jdk 版本
# 而我配置的是 Java11,所以直接运行的时候出现闪退而无法使用
# 这里需要直接写死 1.8 的路径
if [ -n "$JAVA_HOME" ] ; then
	JAVACMD="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/bin/java"

保存后,重新打开 JD-GUI.app 即可。

3.还是打不开

  • 采用安装的方式一,直接解压打开,不要太执着;

  • 使用 Java 命令运行

直接进去 cd 进入到JD-GUI.app/Contents/Resources/Java目录,然后java -jar jd-gui-1.6.6-min.jar(后面为你自己的jar包名字)来执行

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Mac系统无法直接运行APK文件,因此需要使用一些工具来进行解压和反编译。apktool和dex2jar是两个非常常用的工具,可以用来解压和反编译APK文件。jd-gui则是一款反编译工具,可以用来查看和编辑反编译后的代码。 首先,我们需要安装Java开发工具包(JDK)。可以在Oracle官网下载JDK,选择与自己的系统版本对应的安装包进行安装安装完JDK后,我们可以使用Homebrew来安装apktool和dex2jar。Homebrew是一款Mac系统下的包管理器,可以方便地安装和管理各种软件。 在终端中输入以下命令: ``` brew install apktool brew install dex2jar ``` 这样就可以成功安装apktool和dex2jar了。 接下来,我们需要下载并安装jd-gui。可以在jd-gui官网上下载适用于Mac系统的安装包。下载完成后,我们将其解压,并将解压得到的jd-gui.app文件移动到/Applications目录下即可。 现在,我们就可以使用这些工具来对APK文件进行解压和反编译了。具体操作方法可以参考相关教程和文档。总之,使用这些工具需要一定的技术和经验,初学者需要多加学习和实践。 ### 回答2: 首先,需要说明一下,macOS 平台是不能直接安装 apktool 和 dex2jar 等工具的,在 macOS 上只能通过命令行安装 Homebrew 作为包管理器,然后使用 Homebrew 安装 apktool 和 dex2jar。 步骤如下: 1. 安装 Homebrew:在 Terminal 终端输入以下命令(无需 sudo): ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" ``` 2. 安装 apktool:在 Terminal 终端输入以下命令: ``` brew install apktool ``` 3. 安装 dex2jar:在 Terminal 终端输入以下命令: ``` brew install dex2jar ``` 至于 jd-gui,它是一个 Java 应用程序,需要从官网下载 .dmg 安装包,然后在 Finder 中打开安装包,将 jd-gui 应用程序拖动到 Applications 应用程序文件夹中即可。 安装完成后,可以通过以下命令来测试 apktool 和 dex2jar 是否安装成功: ``` apktool --version d2j-version ``` 如果命令行能够输出版本号信息,则说明安装成功。 使用这些工具时,需要注意以下几点: - 在使用 apktool 时,需要先使用 apktool d 命令将 APK 文件反编译成 smali 代码; - 在使用 dex2jar 和 jd-gui 时,需要先使用 d2j-dex2jar 命令将 APK 文件转换成 jar 文件,然后使用 jd-gui 打开对应的 jar 文件进行反编译。 - 在使用这些工具时,需要先了解相关的基础知识,熟悉 smali 语言和 Java 字节码知识,否则可能会无从下手。 ### 回答3: 您好,mac 安装 apktool 和 dex2jar, jd-gui 的步骤如下: 一、安装 apktool: 1. 首先,确保您已经安装了 Homebrew 包管理器,如果没有,请在终端输入以下命令进行安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. 安装 apktool,打开终端并输入以下命令: brew install apktool 3. 然后,可以输入以下命令检查 apktool 是否成功安装: apktool --version 二、安装 dex2jar 和 jd-gui: 1. 首先,需要下载 dex2jar 工具jd-gui 工具,可以在官方网站中下载: dex2jar:https://github.com/pxb1988/dex2jar/releases jd-gui:http://jd.benow.ca/ 2. 下载完成之后,将 dex2jar 和 jd-gui 的压缩包解压到任意目录下(例如:/Users/xxx/tools)。 3. 接着需要在终端中输入以下命令赋予 dex2jar 和 jd-gui 的执行权限: chmod +x /Users/xxx/tools/dex2jar-2.0/d2j-dex2jar.sh chmod +x /Users/xxx/tools/jd-gui-1.6.6/jd-gui.app/Contents/MacOS/jd-gui 4. 现在,dex2jar 和 jd-gui 就已经安装完成了,现在可以使用以下命令将 APK 文件转成 JAR 文件: /Users/xxx/tools/dex2jar-2.0/d2j-dex2jar.sh /path/to/apk/file.apk 然后,就可以使用 jd-gui 打开生成的 JAR 文件了。 希望对您有所帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值