Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PowerShellArsenal — リバースエンジニアリングに特化したPowerShellモジュール | Kitploit
ツール/GitHubGitHub/mattifestation/powershellarsenal
静的分析動的分析 (サンドボックス)暗号化/復号化ツールメモリフォレンジックリバースエンジニアリングデバッガフォレンジックマルウェア分析バイナリ解析
GitHubmattifestation/powershellarsenal

PowerShellArsenal

リバースエンジニアリングに特化したPowerShellモジュール

9002055年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

PowerShellArsenal は、リバースエンジニアを支援するために使用される PowerShell モジュールです。このモジュールは、マネージドコードおよびアンマネージドコードの逆アセンブル、.NET マルウェア解析、メモリの分析/スキャン、ファイル形式やメモリ構造の解析、内部システム情報の取得などに使用できます。PowerShellArsenal は以下のツールで構成されています。

逆アセンブル

ネイティブコードおよびマネージドコードを逆アセンブルします。

Get-CSDisassembly

Capstone Engine 逆アセンブリフレームワークを使用して、バイト配列を逆アセンブルします。

Get-ILDisassembly

MethodInfo オブジェクトから渡された生の MSIL バイト配列を、Ildasm と同様の方法で逆アセンブルします。

マルウェア解析

マルウェア解析時に役立つツールです。

New-FunctionDelegate

X86 または X86_64 関数の実行可能なラッパーを提供します。

Invoke-LoadLibrary

現在の PowerShell プロセスに DLL を読み込みます。

New-DllExportFunction

アンマネージドエクスポート関数を囲む実行可能なラッパーデリゲートを作成します。

Get-HostsFile

HOSTS ファイルを解析します。

New-HostsFileEntry

HOSTS ファイルのエントリを置換または追加します。

Remove-HostsFileEntry

HOSTS ファイルからエントリまたは一連のエントリを削除します。

Get-AssemblyStrings

.NET 実行可能ファイルからすべての文字列を出力します。

Get-AssemblyResources

.NET アセンブリからマネージドリソースを抽出します。

Remove-AssemblySuppressIldasmAttribute

.NET アセンブリから SuppressIldasmAttribute 属性を削除します。

Get-AssemblyImplementedMethods

アセンブリ内で MSIL で実装されているすべてのメソッドを返します。

メモリツール

プロセスメモリの検査と分析を行います。

Get-ProcessStrings

プロセスのユーザーモードメモリから印刷可能なすべての文字列を出力します。

Get-VirtualMemoryInfo

kernel32!VirtualQueryEx のラッパーです。

Get-ProcessMemoryInfo

ユーザーメモリ内の一意なページセットごとに仮想メモリ情報を取得します。この関数は WinDbg の !vadump コマンドに似ています。

Get-StructFromMemory

任意のプロセス内のアンマネージドメモリブロックから、指定された型の新しく割り当てられたマネージドオブジェクトにデータをマーシャリングします。

パーサー

ファイル形式およびインメモリ構造を解析します。

Get-PE

ディスク上およびメモリ内の PE パーサーおよびプロセスのダンパーです。

Find-ProcessPEs

正規の方法で読み込まれたかどうかに関係なく、メモリ内のポータブル実行可能ファイルを検出します。

Get-LibSymbols

Windows LIB ファイルからシンボル情報を表示します。

Get-ObjDump

Windows オブジェクト(OBJ)ファイルに関する情報を表示します。

Windows 内部構造

低レベルの Windows OS 情報を取得および分析します。

Get-NtSystemInformation

ntdll!NtQuerySystemInformation 関数を呼び出し、その出力を解析するユーティリティです。このユーティリティは、通常ユーザーには表示されない内部 OS 情報を照会するために使用できます。

Get-PEB

プロセスのプロセス環境ブロック(PEB)を返します。

Register-ProcessModuleTrace

読み込まれたプロセスモジュールのトレースを開始します。

Get-ProcessModuleTrace

Register-ProcessModuleTrace の呼び出し以降に読み込まれたプロセスモジュールを表示します。

Unregister-ProcessModuleTrace

実行中のプロセスモジュールトレースを停止します。

Get-SystemInfo

kernel32!GetSystemInfo のラッパーです。

その他

その他のヘルパー関数

Get-Member

組み込みの Get-Member コマンドレットを拡張するプロキシ関数です。'-Private' パラメータを追加し、非パブリックな .NET メンバーを表示できるようにします。

Get-Strings

Unicode および Ascii の両方でファイルから文字列をダンプします。このコマンドレットは Sysinternals の strings.exe の機能を再現します。

ConvertTo-String

ファイルのバイトを、元のファイルのバイトと1対1で対応する文字列に変換します。ConvertTo-String はバイナリ正規表現の実行に便利です。

Get-Entropy

ファイルまたはバイト配列のエントロピーを計算します。

ライブラリ

一部の RE 関数で必要とされるライブラリです。

Capstone

Capstone 逆アセンブリエンジンの C# バインディングです。

De4dot

強力な .NET 難読化解除および .NET PE 解析ライブラリです。

PSReflect

メモリ内の enum、struct、Win32 関数を簡単に定義するために使用されるモジュールです。

Formatters

PowerShellArsenal のさまざまな関数の出力を書式設定するために使用される ps1xml ファイルです。

ライセンス

PowerShellArsenal モジュールおよび個々のスクリプトはすべて、特に明記されていない限り、BSD 3-Clause ライセンス の下にあります。

使用方法

詳細な使用法については、各スクリプトのコメントベースのヘルプを参照してください。

このモジュールをインストールするには、PowerShellArsenal フォルダ全体をモジュールディレクトリのいずれかに配置します。PowerShell のデフォルトのモジュールパスは $Env:PSModulePath 環境変数にリストされています。

ユーザーごとのデフォルトのモジュールパスは: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" コンピューターレベルのデフォルトのモジュールパスは: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

モジュールを使用するには、Import-Module PowerShellArsenal と入力します。

インポートされたコマンドを表示するには、Get-Command -Module PowerShellArsenal と入力します。

PowerShell v3 を実行していて、厄介な「インターネットからダウンロードしたスクリプトを本当に実行しますか?」という警告を削除したい場合は、PowerShellArsenal をモジュールパスに配置した後、次のワンライナーを実行します: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerShellArsenal) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

各コマンドのヘルプについては、Get-Help が役立ちます。

注: このモジュールに含まれているツールはすべて、個別に実行できるように設計されています。それらをモジュールに含めることは、移植性を高めるためです。

スクリプトスタイルガイド

PowerShellArsenal へのすべてのコントリビューターおよび将来のコントリビューターの方へ、スクリプト/モジュールを作成する際にはこのスタイルガイドに従っていただくようお願いします。

  • 何があっても Write-Host を使用しないでください。PowerShell の関数/コマンドレットはコマンドラインユーティリティではありません! Write-Host を含むコードのプルリクエストは検討されません。代わりにカスタムオブジェクトを出力してください。カスタムオブジェクトの作成についての詳細は、以下の記事をお読みください:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • 画面に関連するデバッグ情報を表示したい場合は、Write-Verbose を使用してください。ユーザーは単に '-Verbose' を追加すれば済みます。

  • すべてのスクリプトに、説明的なコメントベースのヘルプを必ず提供してください。また、あなたの名前と BSD 3-Clause ライセンス(BSD ライセンスの適用を妨げる特別な事情がない限り)を含めてください。

  • すべての関数が適切な PowerShell の動詞-名詞の規則に従っていることを確認してください。PowerShell で使用されるデフォルトの動詞を一覧表示するには Get-Verb を使用します。サポートされている動詞の例外は、ケースバイケースで検討されます。

  • 変数名は大文字にし、できるだけ説明的にすることを推奨します。

  • コードの間に論理的なスペースを入れてください。コードを読みやすくするためにインデントを付けてください。

  • コードを繰り返している場合は、関数を作成してください。

  • 予想されるすべてのエラーをキャッチし、意味のある出力を提供してください。スクリプトの実行を停止する必要があるエラーがある場合は 'Throw' を使用してください。実行を停止する必要がないエラーがある場合は Write-Error を使用してください。

  • Win32 API とやり取りするスクリプトを作成する場合は、Add-Type を使用した C# のインラインコンパイルを避けてください。可能な場合は PSReflect モジュールを使用してください。

  • ハードコードされたパスは使用しないでください。スクリプトは箱から出してすぐに使用できるようにしてください。ユーザーがコードを修正する必要はないはずです。

  • PowerShell v2 との互換性が強く望まれます。

  • 位置パラメータを使用し、パラメータを必須にするのが理にかなっている場合はそうしてください。例えば、以下のようなものを想定しています:

    • [Parameter(Position = 0, Mandatory = $True)]
  • パイプライン入力を受け取る場合を除き、エイリアスは使用しないでください。エイリアスは、特定のエイリアスに慣れていない人にとってコードを読みにくくします。

  • コマンドが長くなりすぎないようにしてください。例えば、パイプラインは自然な改行の場所です。

  • インラインコメントを使いすぎないでください。コードの特定の側面が読者にとって混乱を招く可能性がある場合にのみ使用してください。

  • Out-Null を使用して不要な/無関係な出力を抑制する代わりに、不要な出力を $null に保存してください。これにより、わずかにパフォーマンスが向上します。

  • パラメータにデフォルト値を使用するのが理にかなっている場合はそうしてください。理想的には、パラメータを必要とせずに動作するスクリプトを目指してください。

  • 関数のコメントベースのヘルプに、すべての必須およびオプションの依存関係を明示的に記載してください。すべてのライブラリの依存関係は 'Lib' フォルダに配置する必要があります。

  • スクリプトが複雑なカスタムオブジェクトを作成する場合は、オブジェクトの出力を適切に書式設定する ps1xml ファイルを含めてください。ps1xml ファイルは Lib\Formatters に保存されています。

ツールをダウンロード