0

Java で書かれたアプリ ランチャーがあるとします。

その後、ランチャーはこの C/C++ クラス フィーダーを実行します。(一種のブートストラップ?)

「App1 としましょう」を実行するために必要なすべての Java クラスがロードされます。( App1 は純粋な Java プログラムです )

これで、ランチャーが App1 を起動します。

このシナリオは可能ですか?

EDIT 私はこのウェブページを見てきましたhttp://www.componio.com/products/jinstaller/jarcryp/
彼らは、jar を暗号化し、いくつかのネイティブ ライブラリで loadClass() メソッドをバイパスできると主張しています。
これが偽物であるかどうか、または可能であればどうすればよいかを理解しようとしています。

編集 2
もう 1 つだけ、このマイナス票を得るために私が違反したコミュニティ ガイドラインを誰か教えてもらえますか? 私が何か間違ったことをした場合、私が学び、同じことを二度としないようにするには?どうも

4

1 に答える 1

1

C++ コードは、JNI インターフェースを使用して JVM をロードできます。その後、次のことができます。

  1. クラスを探す
  2. 静的メソッドを呼び出すか、指定されたクラスのオブジェクトを作成します

これらのアプローチのいずれかを使用して、App1 を起動できます。App1 が main メソッドを持つ Java クラスの場合、次のコードに例があります。

http://avdongre.wordpress.com/2012/07/12/launching-jvm-from-c/

于 2013-08-27T08:19:13.760 に答える