暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解决JD-GUI反编译jar注释中文乱码

IT那活儿 2024-01-08
1339

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  




问题现象



我们平时会使用JD-GUI反编译其他项目jar包来排查源码里有什么问题,如果源码中都是英文注释倒还好,要是有中文注释,就会遇到中文乱码的情况

如上图所示,如果出现这种情况就很难通过注释快速了解代码逻辑,影响问题排查进度。如果是在eclipse或者idea中,一般直接在设置里配置编码格式为UTF-8重新打包即可,但目前这里显然不太现实。那么如何解决这个问题,以下提供两种解决方案。



解决方案



2.1 命令行方式

我们知道JD-GUI也是一个java程序,启动时除了直接双击.exe文件,还可以在cmd里面直接使用java -jar xxx的方式,这样只需要指定file.endocing=UTF-8即可:

1)WIN+R输入powershell并回车进入(此处不可使用cmd)

2)在弹出的窗口中输入java -D'file.encoding=UTF-8' -jar %JD_GUI_HOME%\jd-gui.exe,输入完命令后就会弹出jd-gui的页面

3)然后选择打开需反编译的jar包即可

如图所示,可以看到原来乱码的地方都已经显示正常了。

2.2 脚本方式

每次打开powershell并输入这一串命令显然很麻烦,其实可以通过脚本的方式,并绑定到jd-gui的快捷方式图标来自动配置并打开jd-gui:

1)编写脚本

java -D'file.encoding=utf-8' -jar C:\ProgramDevs\jd-gui-windows-1.6.6\jd-gui.exe

powershell脚本后缀为.ps1,保存为C:\ProgramDevs\jd-gui-windows-1.6.6\jd-gui.ps1

复制

2)测试脚本

3)绑定至jd-gui快捷方式

4)双击快捷方式即可打开jd-gui窗口,且中文不会乱码

5)然后选择打开需反编译的jar包即可(同第一种方式步骤3)


END



本文作者:颜沛东(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论