我已经为一家公司单独工作了两年多。该项目是一个非常大的项目,它使用 rxtx 与硬件设备进行通信。我为 UI 使用了 Java 8 和 JAVAFX。现在它几乎完成了,我开始搜索如何交付公司将分发给其客户的最终用户应用程序。
问题是,当软件在最终客户手中时,我正在与之合作的公司希望代码无法访问,因为 Java 代码包含一些极其敏感的信息,如果最终客户碰巧知道这些信息,可能会对公司产生非常糟糕的后果. 客户实际上可以执行他们无权执行的操作。
因此,在搜索(很多)并相对于我的情况进行思考之后,我明白给 JAR 混淆并不是解决方案。然后我尝试生成一个 JAR,然后将其转换为 EXE,但我成功的只是将 JAR 包装到 EXE 中,这不会阻止提取 JAR,然后轻松查看所有代码。最后,我发现我应该使用像 GCJ 编译器这样的 AoT 编译来从我的 Java 代码生成本机二进制 exe,但是在这里我被卡住了,因为在观看视频和阅读文章等之后,我没有找到一种清晰的方法来生成本机二进制可执行程序。
我现在很困惑,因为我不知道我是否走在正确的道路和正确的方向上,或者我是否完全错了,还有另一种保护代码的方法(至少不受非专业黑客的影响,我知道这是不可能的使其100%安全,但我只是在寻找一种合理且好的方法)。我应该如何管理我工作的最后一步?