【发布时间】:2016-10-02 11:25:27
【问题描述】:
我可以将java编译成共享库(.so)并通过Java中的System.load()函数加载它吗?我之所以要这样做是因为我不希望其他人可以反转我的 java 代码。我想保守一些java代码的秘密。
感谢任何建议!如果可行,可以举个例子吗?非常感谢!
【问题讨论】:
-
这闻起来像XY problem。改为研究“Java 混淆”。
-
我不希望其他人可以反转我的 java 代码 然后不要给他们你的实现。如果您分发已编译的二进制文件,那么无论您将它们提供给谁,都将能够反转您的代码。所有的混淆都会使这项任务更难完成。您的代码仍然必须执行它的设计目的,并且它执行是很容易观察到的,无论它可能多么“模糊”。为什么你认为有人会费心去反转你的代码?
-
@AndrewHenle 我只是想逃避静态分析。无论如何,非常感谢!
-
@Biffen Roger 那。谢谢!
标签: java java-native-interface shared-libraries