
PEをシェルコードに変換します
PEを通常のシェルコードのようにインジェクション可能に変換します。
(同時に、出力ファイルは有効なPEのままです)。
32ビットおよび64ビットのPEの両方をサポート
作成者: @hasherezade & @hh86
このプロジェクトの目的は、最小限の労力でインジェクション可能なPEファイルを生成する可能性を提供することです。 Stephen FewerのReflectiveDLLInjectionに触発されていますが、pe2shcではコンパイル後にリフレクティブローディングスタブを追加できる点が異なります。また、PEファイルのヘッダーは、シェルコードと同じようにバッファの先頭から実行を開始できるように変更されています。スタブを自動的に見つけ、完全なPEのロードを続行します。
🟢 スタブはPEフォーマットの基本的な構造のみをサポートします:
ほとんどのPEファイルにはこれで十分ですが、一部の実行可能ファイルはPEフォーマットのより複雑な側面を使用している可能性があることに注意してください。つまり、すべてのPEがシェルコードに正常に変換できるわけではありません。
🚫 現在サポートされていない要素の例:
📦 ⚙️ 最新のリリースをダウンロードしてください。
リポジトリとすべてのサブモジュールを取得するには、再帰的クローンを使用します:
git clone --recursive https://github.com/hasherezade/pe_to_shellcode.git
pe2shc.exe <PEへのパス> [出力パス*]
* - オプション
PEが正常に変換された場合、pe2shcは出力が保存された場所を通知します:
[+] ファイルに保存されました: <変換されたファイル>
例:
[+] ファイルに保存されました: test_file.shc.exe
runshc.exe <変換されたファイル>
(*)注意:変換したアプリケーションのビット数(32または64ビット)に適したバージョンのrunshcを使用してください。そうしないと、アプリケーションがクラッシュします!