
暗号化PEローダージェネレーター
Huan は、PE ファイル構造と PE ローディングプロセスを学習するために開発した、暗号化 PE ローダー生成ツールです。実行する PE ファイルを毎回異なる鍵で暗号化し、ローダーバイナリの新しいセクションに埋め込みます。現在は 64 ビット PE ファイルで動作します。
まず、Huan は指定された PE ファイルを読み込み、CBC モードの AES-128 暗号化アルゴリズムで暗号化します。暗号化には Tiny AES in C を使用し、このライブラリのためにパディングコードを準備しました。暗号化が完了すると、Visual Studio コンパイラ(MsBuild.exe)を使用してローダーをコンパイルし、実行可能ファイルを作成します。その後、その実行可能ファイルに(.huan という名前の)セクションを作成し、暗号化されたコンテンツ、サイズ情報、IV、および対称鍵を埋め込みます。両方の鍵は、ローダーのコピーごとにランダムに生成されます。このセクションのレイアウトは以下の通りです。
ローダーが実行されると、まず Process Environment Block を読み取って自身のイメージベースを取得します。イメージベースを取得した後、ロードされた自身のコピーを解析して .huan セクションを見つけます。次に、コンテンツ全体を復号化してバッファリングし、メモリ上に展開されたバイナリをロードします。
許可されたセキュリティテストのみを対象としています。明示的な許可なくシステムに対してこのツールを悪用することは違法です。