5

我计划使用包含在另一个 jar 中的 jar 来执行 jar 命令。

该命令将使用类似于以下的代码自动混淆 Java jar 文件:

public void obfuscate()
{
    try
    {
        String jre = "\"" + System.getProperty("java.home") + "\\bin\\javaw.exe" + "\"";
        String jar = " -jar";
        Runtime.getRuntime().exec(new String[] { jre, jar.trim(), "/lib/allatori.jar /lib/config.xml" });
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

allatori.jarmain.jar文件作为资源包含在我的文件中。config.xml文件也包括在内。

如何运行我的命令以执行包含的 jar 文件?

main.jar的文件夹结构:

- main.jar
  |
  |- main_class.class
  |- lib/
      |- allatori.jar
      |- config.xml
      |- jarToObfuscate.jar
4

2 回答 2

1

当然。把它复制到外面,创建一个类加载器,找到你想开始的类,然后就可以了。在它还在的时候就位?好吧,您必须编写自己的代码才能将类文件从嵌入式 jar 文件中提取出来并提供给类加载器,可能您必须从头开始编写它。

于 2012-04-18T20:44:12.753 回答
1

在运行它之前,您肯定必须将其解压到 jar 之外。

于 2012-04-18T20:44:16.763 回答