首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jlink是否仍然需要混淆(例如,可以在模块文件上运行反编译程序)?

jlink是否仍然需要混淆(例如,可以在模块文件上运行反编译程序)?
EN

Stack Overflow用户
提问于 2018-05-07 15:15:48
回答 1查看 275关注 0票数 1

在Java 8中,我需要混淆应用程序的jar/类文件。我正在将这个应用程序迁移到Java 10,我还更新了构建过程以使用模块,这样我们就不必提供完整的JRE了。

当我用模块编译(javac)然后构建简化的JRE (jlink)时,我注意到dist/lib/modules文件是包含我编译的代码的文件。但是,当我检查dist/lib/模块时,这个文件既不是ZIP文件,也不像我的代码是可见的。

有办法对dist/lib/模块进行反编译吗?在调用jlink之前,我是否应该混淆我的*.class文件?

下面是我的构建流程的一个示例:

代码语言:javascript
复制
javac -d my_module/out $(find my_module/src -name *.java)
jar cf libs/my_module-1.0.jar -C my_module/out .
javac -d out -p 'libs/my_module-1.0.jar' \
  src/module-info.java src/application/Main.java
jlink -p $JAVA_HOME/jmods:libs --add-modules com.application \
  --launcher start-application=com.application \
  --strip-debug --compress=2 \
  --output small-dist
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 15:20:49

jlink不做任何混淆。要提取模块,可以使用"jimage提取“(请参阅How to extract the file jre-9/lib/modules? )

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50217466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档