1

何時間も検索しましたが、これについては何も見つかりませんでした。

暗号化されたjarを読み取り、それを復号化するjarinputstreamがあります

JarInputStream jin = new JarInputStream(new CipherInputStream(in, dcipher));

実行するとクラス名が出力されるため、動作を確認しました

while ((je = jin.getNextJarEntry()) != null) {
      jename = je.getName();

jename を出力すると、クラス名とパスが出力されるので、うまく復号化できることがわかります。

しかし、今、私が Main.class を実行したいとき、私はこれを行う方法についての手がかりがありません。ファイルをディスクに保存したくありません。これをメモリに保存してください。

そのjarinputstreamからメモリ内でjarを作成して実行する方法についてのヒントはありますか?

ありがとう!

4

1 に答える 1

1

特定のクラスの復号化されたデータを取得して に送信するには、サブクラスClassLoader化して実装する必要があります。findClass()super.defineClass()

ClassLoaderのドキュメントを参照するか、JarClassLoader のチュートリアル、またはhttp://www.javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html?page=2またはURLCassloader による暗号化された JarFile のロード

于 2013-02-07T14:12:39.123 に答える