PEファイル
PEファイルとは
PEファイルのPEはProtable Executableの略で、Windows上で使用される実行ファイル (EXE)、オブジェクトファイル、DLL、SYS (デバイスドライバ)、FON フォントファイル等のファイルフォーマットのこと。
PEファイルには構造がある。文字で書くとややこしいのですが、こちらのサイトが分かりやすいです。
マイクロソフトの説明はほぼ、文字だけです。
http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf
こちらでは図だけの情報があります。
PEファイルから取り出せるメタ情報(ヘッダ情報)があり、それをマルウェアの解析に使用することができる。
ヘッダ情報の確認方法
Windows環境であれば、PEView・PeStudioというソフトが使える。
Pythonではpefileというライブラリが使用できる。
pefileのインストール
!pip install pefile
Windowsの計算機アプリ=calc.exeを読み込み、PE情報を出力する。
import pefilepe = pefile.PE('calc.exe')print(pe.dump_info())
以下のような情報が出力される。
KaggleでPE Headerで検索するとデータやノートがいくつか見つかる。
次回、このような情報を使って、機械学習によりマルウェア検出器を作成してみる。