是否可以将 jar 中的 .class 文件从默认包移动到另一个命名包,以便我可以导入和使用它们?
在这里浏览其他问题后,我认为 jarjar 可能正是我要找的,但我不知道如何使用它。
所以我的问题是如何使用 jarjar 将 .class 文件从默认包重新打包到另一个命名包?
编辑:我想澄清一些事情 - 我没有要重新打包的 jar 的来源,所以我不知道如何重新编译代码。混淆和反射是不可能的。
EDIT2:使用 jarjar 似乎非常简单:) java -jar jarjar.jar process rules.rules in.jar out.jar
rules.rules 看起来像这样: rule a net.ylivay.src.a
问题解决了!
我正在研究一个分析JAR文件的封闭源Java应用程序.由于java可以很容易地反编译,并且混淆真的不是什么大问题,我想提供一个在我的服务器上执行应用程序的在线服务,并返回它的结果,就像这里的fernflower:www.reversed-java.com/fernflower /.
问题是,我担心这是一个灾难的秘诀我的应用程序加载服务器上的任何可能有害的罐子,即使我从来没有运行罐子.我正在做的就是使用URLClassLoader和JarInputStream加载它们.
我正在加载的jar可以覆盖原始应用程序中的类,以便执行恶意代码或搞乱我的程序吗?
动态加载罐子有哪些风险?
这是怎么回事?
我会保持简短和甜蜜.如何确定两个类是否是同一类型.按类型我的意思是它们都被定义为Class,Interface,Enum,Annotion或其他.