/ / Perlを使用してWinNT移植可能な実行可能ファイルからヘッダーを読み取るにはどうすればよいですか? - perl、移植可能な実行可能ファイル

Perlを使用してWinNT移植可能な実行可能ファイルからヘッダーを読み取るにはどうすればよいですか? - perl、移植可能な実行可能ファイル

私はPerlでPEファイルを扱いたいのでモジュールを見つけられませんでしたので、私は自分自身で書くと思います(すでにこれをデルファイで行っています)。

実行可能ファイルをバッファにマッピングするときに問題が1つしかない、0x00004550(IMAGE_NT_SIGNATURE)のような8進数をどのように検索し、書き換え可能な文字列に変換するのですか?

回答:

回答№1については9

そこ 移植可能な実行ファイルを操作するPerlモジュール: Win32::Exe.

私はあなたの正確な質問には手がかりを持っていませんが、あなた自身のライブラリをまだ書いておきたい場合は、 Win32::Exe 良い参考資料かもしれない。


回答№2については2

その値をバイト表現に変換するには、 pack。あなたが扱っている定数はリトルエンディアンの32ビットの値なので、テンプレートの "V"です。

$ perl -e "print pack q[V], 0x00004550" | hd
00000000  50 45 00 00                                       |PE..|
00000004

見る perldoc -f pack 詳細については。

おそらく、文字列を検索する必要はありませんPEのような

(私はそれに賛成だ Win32::Exe あなたがしたいことに応じて一見価値があるかもしれません。)