【问题标题】:Which order? ProGuard + JWrapper + Launch4J哪个顺序? ProGuard + JWrapper + Launch4J
【发布时间】:2016-06-28 16:38:11
【问题描述】:

我了解 StackOverflow 旨在回答特定问题并避免主观意见。我觉得我的问题只有一个正确答案,因此我在这里发帖。

我创建了一个 Java 桌面应用程序 (JavaFX),我计划将其分发用于商业用途。我读过 Java 代码很容易进行逆向工程,因此使用 ProGuard 之类的东西进行混淆至关重要。我想打包我的应用程序,以便用户双击 .exe(他们从我的站点下载),然后像任何标准软件一样运行安装程序。这似乎超出了 ProGuard 的范围,但我发现 JWrapper 和 Launch4J 似乎都提供了类似的功能。两者都声称将 jar 包装到 Windows 本机可执行文件中,显示启动画面,包括 JRE,但我对它们的不同之处感到困惑。

具体来说,我需要以下内容:

  • 安装向导(即把exe放在安全的地方+在桌面上制作快捷方式,同时在某处添加EULA)。
  • 添加指定用户限制的 EULA(最终用户许可协议)
  • 应用程序的 Web 更新(JWrapper 似乎使用 URL + 构建路径提供此功能)
  • 使用许可(License3j 似乎很有希望)保护应用程序(在某种程度上)的能力。

他们的功能可以在herehere 中找到,但只有JWrapper 提到了perform web updates 的功能并提到了桌面快捷方式(我假设它也可以在某处写一个EULA.txt)。

那么,在我写完代码之后,ProGuard、JWrapper 和 Launch4j 应该按什么顺序应用呢?我猜首先是 ProGuard(缩小、优化和混淆),然后是 JWrapper,然后是 Launch4j?还是只有 3 个中的 2 个?

也请随意提出我可能遗漏的其他方法、工具或概念。谢谢!

【问题讨论】:

  • JWrapper 人还提供 JWCrypt,他们声称这是高效的代码保护,但它不是免费的。
  • 这看起来很有希望,谢谢。它看起来像每年 500 美元,所以总是首选免费的替代品。但这并不现实,所以我想知道,如果我将所有敏感数据处理都放在服务器端,并花钱请一家有信誉的公司提供保护服务,那不是比 JWCrypt 更好吗?我的应用程序将只包含大部分骨架代码,并且会在整个运行过程中从服务器请求代码的“胆量”。有什么想法吗?泰。
  • 如果您可以将要保护的代码保留在服务器端,那么假设服务器没有受到威胁,那么显然可以得到很好的保护。但是您的最后一条语句建议将代码从服务器拉到客户端,这当然不会比首先将其放在客户端应用程序上更安全。

标签: java javafx proguard launch4j jwrapper


【解决方案1】:

这个问题似乎超出了 Stackoverflow 的范围,但要回答它:

  1. 首先在您的应用程序上应用 ProGuard,保留应用程序的 main 方法
  2. 在 ProGuard 处理的 jar 上应用 launch4j 或 jwrapper(由您选择)

【讨论】:

  • 感谢您的反馈。
猜你喜欢
  • 2017-03-03
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 2015-01-26
  • 2013-04-28
相关资源
最近更新 更多