1、目录准备
文件说明:
文件 | 说明 |
---|---|
tmp | 该目录作为反编译时的临时目录,在CLASS_TO_JAVA_IDEA.bat脚本中定义的TMP_DIR变量可自行修改 |
1.class | 反编译测试文件:任意一个class文件 |
java-decompiler.jar | ieda自带反编译包,idea家目录\plugins\java-decompiler\lib |
CLASS_TO_JAVA_IDEA.bat | class反编译脚本 |
2、编写CLASS_TO_JAVA_IDEA.bat脚本
@echo off
REM 定义临时目录
set TMP_DIR=C:\Program Files\Beyond Compare 4\plugin\class\tmp
REM 复制源文件并重命名.class到tmp目录
copy %1 "%TMP_DIR%\%~n1.class"
REM 反编译.class文件到tmp目录
java -cp "C:\Program Files\Beyond Compare 4\plugin\class\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true "%TMP_DIR%\%~n1.class" "%TMP_DIR%\\"
set file_path="%TMP_DIR%\%~n1.java"
REM 将反编译后的.java文件重定向目标文件
type %file_path% > %2
3、脚本测试
脚本和运行环境无误在临时目录生成同名的class、和反编译后的java文件
若因本地环境导致脚本运行异常可参考: 使用IDEA的反编译插件 反编译jar包/class文件/修改jar包
4、插件配置
工具-文件格式(新建-文本格式-【常规掩码(.class)、转换-选择外部程序-指定CLASS_TO_JAVA_IDEA.bat脚本、保存】)
若中文乱码可配置编码
5、结果