ファイルをメモリにロードする方法は知っていますが、Java ではメモリ アドレスに構造を定義するにはどうすればよいですか?
私がやろうとしているのは、PE (PORTABLE EXECUTABLE)ファイル ヘッダーを解析することです。外部ライブラリなしでそれを行うにはどうすればよいですか。
ありがとう。
ファイルをメモリにロードする方法は知っていますが、Java ではメモリ アドレスに構造を定義するにはどうすればよいですか?
私がやろうとしているのは、PE (PORTABLE EXECUTABLE)ファイル ヘッダーを解析することです。外部ライブラリなしでそれを行うにはどうすればよいですか。
ありがとう。
PEファイルを読み取ろうとしていることを理解しているが、ファイルの機械可読な定義がない場合。Javaでは、任意のメモリにマップするだけのクラスを実際に作成することはできないため、ヘッダー内のデータのオフセットとサイズを使用して一連の定数を作成する必要があります。そして、これらの定数を使用して、必要なものに対応する正しいバイトを返すクラスを作成できます。
このソースは google project で見つけました。私はまだこれを試していません。これが役立つことを願っています。ここで共有するより良い解決策があれば、私も同じ解決策を探しています。
dorkbox PeParser を試す:<a href="https://github.com/dorkbox/PeParser" rel="nofollow noreferrer">https://github.com/dorkbox/PeParser
PE pe = new PE("C:\\my.exe");
System.out.println(pe.isPE());
System.out.println(pe.getInfo());