Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NtTrace — Windowsの「ネイティブ」API向けのstrace風プログラム | Kitploit
ツール/GitHubGitHub/rogerorr/nttrace
動的コード分析 (DAST)リバースエンジニアリングAPIセキュリティテストデバッガマルウェア分析
GitHubrogerorr/nttrace

NtTrace

Windowsの「ネイティブ」API向けのstrace風プログラム

リポジトリを見る
388492715日前Kitploit レビュー済み
ウェブサイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

NtTrace の readme ファイル

参照: http://rogerorr.github.io/NtTrace/

目次

  • Readme.md - このファイル
  • NtTrace.cfg - NtTrace のデフォルト構成ファイル
  • NtTrace.ico - アイコンファイル
  • NtTrace.mak - Microsoft Visual Studio コマンドプロンプト用の make ファイル
  • NtTrace.rc - リソースファイル
  • src - ソースファイル
  • include - インクルードファイル
  • version.rc - バージョンリソース
  • Gdi32Trace.cfg - GDI ネイティブ呼び出し用の構成ファイル
  • User32Trace.cfg - USER32 ネイティブ呼び出し用の構成ファイル

ビルド手順

ターゲットとするアプリケーションに合わせて、NtTrace の 64 ビット版と 32 ビット版のいずれか、または両方が必要です。

  • この最上位ディレクトリに cd します
  • 64 ビット版または 32 ビット版をそれぞれビルドするには、scripts\build-vs-x64.bat または scripts\build-vs-x86.bat を実行します。

または

  • "x64 Native Tools Command Prompt for VS2022" (64 ビット) または "Developer Command Prompt for VS2022" (32 ビット) を起動します。
  • この最上位ディレクトリに cd します
  • nmake /f NtTrace.mak を実行します

または

  • Windows コマンドプロンプトを起動します
  • この最上位ディレクトリに cd します
  • 対象の VC 環境を設定します
  • 例: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  • または "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • nmake /f NtTrace.mak を実行します

NtTrace の実行

NtTrace はコマンドラインから実行するように設計されています。

必要に応じて引数を付けてプログラムを実行するために使用できます。 例:
NtTrace -filter File cmd /c echo hello

または、PID を指定して既存のプロセスにアタッチしたり、-a オプションを使用して名前でアタッチしたりすることもできます。 例: NtTrace 1234 または NtTrace -a notepad

完全なオプションの一覧については NtTrace -h を実行してください。

Gdi および User 呼び出し

既定では、NtTrace は NtDll.dll を介して公開される Windows ネイティブ API を対象とします。

Windows グラフィックスインターフェイスをサポートする多くのエントリポイント用の構成ファイルも提供されています。

Gdi32Trace.cfg は Graphics Device Interface 用です。

User32Trace.cfg は User Interface 用です。

既定の NtTrace.cfg の代わりに、-config コマンドライン引数を使用して、これらのいずれかを選択できます。

DbgHelp.dll に関する注意

Windows には system32 ディレクトリに DbgHelp.dll が同梱されています。ただし、この DLL の新しいバージョンが Microsoft の SDK で利用できる場合もあります。

OS と共にインストールされた DLL のバージョンは、ダウンロードされる新しいバージョンよりも優先される傾向があります。

システムディレクトリにインストールされているものより新しいバージョンが必要だとわかった場合は、新しい方の DbgHelp.dll を NtTrace.exe と同じディレクトリにコピーするだけです。(SymSrv.dll と SrcSrv.dll もコピーする必要があります)

動作の仕組み

技術

NtTrace は、Windows デバッグインターフェイスを使用して、カーネルへの Windows ネイティブ呼び出しの周囲の NtDll にブレークポイントを配置します。ブレークポイントがヒットするたびに、NtTrace は関連する呼び出しに渡された引数/返された値を読み取ります。

ユーザーレベルで動作し、特定のプロセス(およびその子プロセス)にのみ影響します。カーネルに入ろうとはしません。これは意図的な設計判断であり、管理者権限やデバイスドライバをインストールする権限を必要とせずにツールを使用できることを意味します。ただし、これはツールが以下を捕捉できないことも意味します:

  • アプリケーションに代わってデバイスドライバが行うカーネル呼び出し
  • int 2e、syscall、または sysenter メカニズムの直接使用

また、NtTrace は既定では、最初に起動したプロセスの子プロセスもトレースします。-pid オプションは各出力行にプロセス ID を追加し、どのプロセスがどの呼び出しを行ったかを識別するのに役立ちます。-only オプションは子プロセスのトレースを抑制します。

また、マルチスレッドアプリケーションにも対応しています(-tid オプションは、どのスレッドが各呼び出しを行っているかを識別するのに役立ちます)。ただし、Windows デバッグインターフェイスはイベントベースであるため、複数のスレッドが同時に呼び出しを行うと、トレースが直列化されることに注意してください。

既定では NtDll 内の呼び出しがトレースされます。Gdi32 と User32 の構成ファイルは、異なるターゲット DLL を選択します。NtTrace は現在、異なる種類のシステムコールを同時にトレースすることはサポートしていません。

構成

ネイティブ呼び出しの構成は NtTrace.cfg に保持され、このファイルはプログラムの起動時に解析されます。Windows のバージョンによって、サポートされる呼び出しのセットが異なることに注意してください。

ネイティブ関数の一部は Microsoft によって正式に文書化されていますが、多くは文書化されていません。(ほぼ)完全なリストは、関数の調査と ReactOS などの Web サイトからの情報を組み合わせて作成されました。

各関数はカテゴリに割り当てられており、関数名(部分一致)と関数カテゴリでフィルタリングできます。

既定では、NtTrace はシステムコールからの復帰時にトレースしますが、-pre オプションを使用すると呼び出し前もトレースできます。これは、例えば、同じ構造体がリクエストバッファとレスポンスバッファの両方に使用される場合に役立ちます。


$Id: Readme.md 2542 2025-01-21 23:15:34Z roger $
ツールをダウンロード