
システムプロセス、その保護レベルなどを列挙するためのBOF。
このBOFは、システムプロセスを列挙し、それぞれの保護レベルを特定するために使用できます。サービス関連、ユーザー、セッション、パスなどの追加情報も返されます。これらの情報を組み合わせることで、SYSTEMレベルのDLLハイジャックを調査するための有力な候補を特定できます。理想的なプロセスは次のとおりです。

このツールは、通常のBOF API宣言(例: bofdefs.hファイル)を使用せずに記述されています。このブログ記事でMatt Ehrnschwenderが説明しているように、objcopyを使用してDLL$API形式の適切なシンボルをBOFのコンパイル後パッチに書き込むことが可能です。このツールのMakefileはobjcopyを呼び出し、正しいシンボル置換を含むimports_enumprotectionsXX.txtファイルをツールに渡して、BOFを使用可能な状態にします。
私はこのプロセスを自動化するBOFPatcherというツールを作成しました。これにより、ユーザーは煩雑なAPI宣言を気にせずに、通常のC言語としてBOFを作成できます。

このツールは、私のBOF Development and Tradecraftコースを購入した方に利用可能です。
hasherezadeにはこのスニペットを、Gabriel LandauにはNoFaultを提供いただき感謝します。
また、ChatGPTによって収集され、私が使用した多くの才能ある個人の作品に敬意を表します。