ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

PEファイル

PEファイルとは

PEファイルのPEはProtable Executableの略で、Windows上で使用される実行ファイル (EXE)、オブジェクトファイル、DLL、SYS (デバイスドライバ)、FON フォントファイル等のファイルフォーマットのこと。

PEファイルには構造がある。文字で書くとややこしいのですが、こちらのサイトが分かりやすいです。

shopping2.gmobb.jp

 

マイクロソフトの説明はほぼ、文字だけです。

learn.microsoft.com

 

http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf

こちらでは図だけの情報があります。

 

PEファイルから取り出せるメタ情報(ヘッダ情報)があり、それをマルウェアの解析に使用することができる。

ヘッダ情報の確認方法

Windows環境であれば、PEView・PeStudioというソフトが使える。

Pythonではpefileというライブラリが使用できる。

github.com

 
pefileのインストール

!pip install pefile

 
Windowsの計算機アプリ=calc.exeを読み込み、PE情報を出力する。
import pefile
pe =  pefile.PE('calc.exe')
print(pe.dump_info())

 

以下のような情報が出力される。

 

KaggleでPE Headerで検索するとデータやノートがいくつか見つかる。

次回、このような情報を使って、機械学習によりマルウェア検出器を作成してみる。