
🗜️ C と Intel x86 アセンブリで書かれた Windows x86 実行可能ファイル用のパッカー。パッキング後の新しいファイルはリバースエンジニアリングを妨害できます。(C と Intel x86 アセンブリで開発された Windows x86 実行可能ファイルのパッキングツール。パッキング後の新しいファイルはリバースエンジニアリングを妨害できます。)

PE-Packer は、Windows PE ファイル向けのシンプルなパッカーです。パック後の新しい PE ファイルはリバースエンジニアリングのプロセスを妨害できます。
PE ファイルをパックする際に以下の処理を行います:
パックされた PE ファイルを実行すると、シェルエントリ が以下の手順で元のプログラムを復号・ロードします:
パック前には、IDA Pro などの逆アセンブルツールを使用して実行可能ファイルを逆アセンブルし、コードを解析できます。
コードの逆アセンブル。

定数文字列の検索。

インポートテーブルの解析。

パック後は、リバース解析が妨害されます。
コードの逆アセンブル。

定数文字列の検索。

インポートテーブルの解析。

このプロジェクトは、Windows PE フォーマット と アセンブリ言語 を学ぶ初心者向けのデモに過ぎません。実際に使用できる状態ではなく、互換性の問題やバグが依然として存在します。
このプロジェクトは Windows 32ビット で設定する必要があり、現在は 32ビット の .exe プログラムのみ処理できます。
i686 アーキテクチャを選択します。PATH 環境変数を設定します。mkdir -p build
cd build
cmake .. -D CMAKE_C_COMPILER=gcc -G "MinGW Makefiles"
cmake --build .
または build.ps1 ファイルを直接実行します:
PS> .\build.ps1
プログラムをパックするには、入力ファイル名 と 出力ファイル名 を指定する必要があります。
PE-Packer <input-file> <output-file>
例:
PE-Packer hello.exe hello-pack.exe
Doxygen を使用してドキュメントを生成できます。
MIT ライセンス の下で配布されています。詳細については LICENSE を参照してください。