现在,我知道...
只要有足够的时间和资源,任何事情都可以进行逆向工程。
但是,使用GCJ之类的工具将 Java 代码编译为本机代码会使反编译变得更加困难吗?我的意思是,只要几分钟,我就可以使用JD-GUI反编译一个 .jar ,而且相对准确。大多数“Java 到 EXE”转换器只是 JVM 的 .exe 启动器,虽然 JVM 有很多好处,但我一直认为源代码的安全性不是其中之一。
底线:您可以使用 GCJ 之类的东西将您的 Java 源(或 .class)文件编译为本机机器代码吗?如果可以,是否可以防止它被反编译?
编辑:理想情况下,这不仅仅是混淆。具体项目是一个商业游戏,所以我们正在寻找一种方法,使从源代码开始变得更加困难,而不仅仅是理解它。另外,我不确定 Steam 是否接受 .jar,我们正计划将其提交给新的Green Light项目。