2017-07-30 1 views
-1

インターネットからファイルをダウンロードしていますが(How to download and save a file from Internet using Java?)、実行される前にファイルを作成したくありません。だから私が思ったのは:ファイルをダウンロードしてnew File("myJar.jar");のファイルに入れて、代わりにRuntime.getRuntime().exec("java -jar myJar.jar"); < =(私はファイルを作成する必要があります)... jarを解凍してすべてのクラスのバイトを取得してputプログラムを実行するためにそれらをClassloaderに追加します。これは良い方法ですか、何をお勧めしますか? Java: How to load Class stored as byte[] into the JVM? < = jarからすべてのクラスをロードすると、これはプログラムを実行しますか?RAMからのJava実行ファイルオブジェクト

編集: これは、クラッカーがファイルを取得するのを困難にするために行う必要があります。

編集2: そして、その瓶ではなく、.exeの場合はどうすれば可能でしょうか?これは、jarファイルをネイティブコードにコンパイルした後、.exeファイルを作成する場合に必要です。クラッカーがjvmからコードを取得できないようにします。

+1

右でやってしまうと後でまったく同じことをやって、find itをメインクラスを把握し、そのmain(...)メソッドを呼び出し、それを読んで、findResource(...)方法でMETA-INF/manifest.mfを見つけることができます、あなたが本当にしようとしている問題は何ですかここで解決するには?なぜファイルを実行する前に作成したくないのですか? –

+0

クラッカーに苦労するためには、ラムにアクセスしてファイルを入手する必要があります。 –

+1

しかし、ファイルはすでにインターネット上で利用可能です。確かにこのファイルを本当に欲しがっていたクラッカーは、それをそこから得ることができますか? –

答えて

0

あなたの仕事であるURLClassLoaderを試してみてください。あなたはjava -jar ...

+0

ダウンロードがパスワードで保護されている場合(OPのコメントに記載されているとおり) –

+0

パスワードに関する部分を忘れました。メモリ内のバイトストリームに基づいた適切なソリューションで回答を編集します。 –

+0

十分です。うれしいです;) –

関連する問題