jar-obfuscator
jar-obfuscator copied to clipboard
[BUG] JAVAFX 项目混淆问题
加密jar后,执行jar包提示:错误: 找不到或无法加载主类。所运行的jar包是一个javafx GUI工具,该如何解决此问题呢?
具体问题,具体分析,我手头没有你的 jar 包所以不太好处理
之后我会尝试找一个 javafx 包分析下
目前排查和解决的话
第一个办法:手动启动主类
例如:混淆配置文件如果设置主类会输出混淆后的主类名
java -cp test.jar com.test.XXX
第二个办法:只混淆关键部分
某些 javafx 关键代码不能混淆 建议只混淆关键部分 设置哪些方法不应该混淆等
谢谢回复,可否加个QQ,我把javafx包发你试试,QQ:1726899818 对于你说的方法,我明天试试
对于 JAVAFX 应用,给出一个推荐配置(尝试 0.0.3-beta 版本)
# 混淆字符配置
obfuscateChars: [ i, l, L, '1', I ]
# 混淆包名称 必须配置否则无法运行
# 建议仅设置关键部分不要设置范围过大
obfuscatePackage: [ cherry. ]
# 不对某些类做混淆(不混淆其中的所有内容)
# 例如反射调用/JAVAFX FXML绑定等情况
classBlackList: [ cherry.controller.CherryController ]
# 不对某些 method 名做混淆
methodBlackList: [ start.* ]
obfuscatePackage 是你要混淆的根包
cherry.controller.CherryController 是 javafx 里绑定的 controller 不能混淆
methodBlackList 对 main 类的 start 方法不能动,因为 javafx 的规范
效果: