标签 java 下的文章

批量反编译jar包

  • 首先把jar包改为后缀rar,然后进行解压。

解压过程中可能会报错,忽略即可

然后在终端输入下列命令进行批量反编译(xxx是上面rar解压出来的目录)

jad -r -ff -d src -s java xxx/**/*.class

这边有个坑,如果你是macos配置的zsh终端,那可能会提示下面这段话

zsh: argument list too long: jad

解决办法:
临时切换为bash,然后使用命令进行反编译

MAC JDK版本切换

通过命令'jdk7', 'jdk8'轻松切换到对应的Java版本:

  • 1.首先安装所有的JDk



    • Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下。
    • JDK7,JDK8,JDK9则需要自己到Oracle官网下载安装对应的版本。自己安装的JDK默认路径为:/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk
  • 2.配置
    编辑~/.zshrc文件(我是zsh的shell,所有配置该文件,如果是bash,则配置.bash_profile)

在最下面加入下面的代码

#设置jdk版本
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home


#alias命令动态切换JAVA_HOME的配置
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'


export JAVA_HOME=$JAVA_7_HOME

输入完成后保存,然后执行下面命令

source ~/.zshrc
  • 3.验证

使用:jdk7、jdk8即可切换jdk版本

java反编译

jad.exe文件,将它设置到环境变量path,(复制到 %JAVA_HOME%\BIN的目录下)
或者拷到其他已经了环境变量path的地方,或者在cmd中转到此文件目录下。

简单的方法是

jad -o -r -d F:\src -s java F:\classes\**\*.class 

-o - overwrite output files without confirmation (default: no) 无需确定覆写文件

-r - restore package directory structrure 恢复包目录结构

-s - output file extension (by default '.jad') 如果不设置为-s java,则默认扩展名为.jad

其他的,F:\classes***.class 中的两颗接连的星,表示任意层次的子目录