問題タブ [kernel-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - プログラムがカーネル モードで正常に動作していることを確認するにはどうすればよいですか?
プログラムがカーネル モードまたはドライバー プログラミングのレベルで正常に動作していることを確認するにはどうすればよいですか?
また、使用する必要があるプログラムがある場合、このプログラムをどのように使用できますか?
windbg - windbgを使用してndisフィルターをデバッグする方法は?
ホストマシンとターゲットマシンを正しく構成しましたが、
ホストマシンからのみターゲットOSに接続できます。
そして、ターゲットマシンにndisフィルターをインストールしました。
これからndisフィルターがどのように機能するかを追跡するにはどうすればよいですか?
c++ - カーネル モードからユーザー モードの実行可能ファイルを実行する
ドライバーチーム用のハードウェアシミュレーターを構築しています。現在、シミュレーターは 2 つのモジュールに分割されています。最初のモジュールはドライバー内でカーネル モードで実行され、ドライバーと HW-Simulator 間のメイン インターフェイスがここにあります。DeviceIOControl2番目のモジュールは、シミュレーター用のデータを生成し、 (Windows APIの下で)への呼び出しを介してシミュレーターに転送する実行可能なユーザーモードコードです。
私の必要性は次のとおりです。カーネルモード内からユーザーモードの実行可能ファイルを実行できるようにしたいです。そして、これを比較的移植性の高い方法で実行できるようにする必要があります。現在、私は Windows でのみ実行していますが、これはすぐに変更されるはずです。さらに、stdin再構成して最終的に閉じるために、パイプを介してユーザーモードコードと通信できる必要があります。
私はこれを見つけました: カーネル空間からユーザー空間関数を実行する
ただし、これは linux-kernel にのみ関連します。よりポータブルな代替手段はありますか? またはWindowsの代替?
ShellExecute/RunAs API 関数を使用するだけで Windows でこれを実行できますか?
注: カーネル空間からユーザー モード コードを呼び出すことに伴うセキュリティ リスクを認識しています。ただし、これはテスト環境としてのみ使用することを意図しており、リリース コードに到達することはないため、心配する必要はありません。
emacs - EmacsWinDbgカーネルモード
カーネルモードのデバッグにWinDbgを使用していますが、WinDbgへのemacsインターフェイスを使用したいと思います。http://www.emacswiki.org/emacs/download/cdb-gud.elを参照してください。しかし、cdb-gud.elは、ユーザープログラムをデバッグするためにWinDbgでEmacsを使用する方法のみを示しています。
カーネルモードのデバッグにWinDbgでEmacsを使用する方法を知っている人はいますか?
memory-management - ユーザープロセスの mm_struct または vm_area_struct からのデータの読み取り
カーネル モードでユーザー プロセスのページからデータをコピーする方法を考えていました。mm_struct とプロセスのすべての vm_area_structs にアクセスできます。vm_ops でアクセス方法を見ましたが、それがどのように機能するかはわかりません。どんな助けでも大歓迎です。
linux-kernel - 実行時にLinuxカーネルモジュールからカーネルバージョンを取得する
Linuxカーネルモジュールコード(カーネルモード)内から実行されているカーネルのバージョンに関するランタイム情報を取得するにはどうすればよいですか?
operating-system - カーネル モードでのデバッグが難しいのはなぜですか?
カーネル モードとユーザー モードの両方の目的と、前者から後者への遷移がどのように発生するかを理解しています。しかし、多くの情報源は、カーネル モードで発生するクラッシュはデバッグが難しく、たとえば telnet 経由で接続してリモートで実行する必要があると述べています (ここに例があります)。
デバッグが難しいのはなぜですか?(カーネル) デバッガーをカーネル スレッドの 1 つに接続して、通常の方法で使用できないのはなぜですか?
windows - Windows OS でカーネル モードからオブジェクトの ACL を変更する方法は?
Windows のカーネル モードからファイル/ディレクトリの DACL に ACE を追加する方法はありますか? ルーチンに関するリファレンスを見つけましたZwQuerySecurityObject/ZwSetSecurityObjectが、それは WINDDK ヘッダーで定義されていません。
この質問の情報をいただければ幸いです。
windbg - カーネルデバッグ用のNT4.0(SP 6a)と互換性のあるWinDbgバージョンはどれですか?
シリアルポート接続と名前付きパイプ接続の両方でWinDbg6.12を使用しています。残念ながら、OSの起動当初からWinDbgをターゲット(NT 4 SP 6a)に接続できず、自動再接続が機能せず、カーネル接続のNT4タイムアウトに達するまで待つ必要があります。その後、NTは起動プロセスを続行し、接続できるようになります...
NT 4と完全に互換性のあるバージョンはどこで入手できますか?(Microsoft Debugging ToolsのWebサイトから最も古いバージョンをすでに確認しています)
また、デバッグ用のNT 4シンボルはどこで入手できますか?MicrosoftSymbolsServerはこれらのシンボルを提供しなくなったのではないかと思います。
ありがとう、
詳細については、kdログは次のとおりです。
operating-system - ユーザープロセスは、コンテキストスイッチを経由せずにシステムコールをどのように実行しますか?
ユーザープロセスがシステムコールを実行すると、カーネルプロセスが呼び出されます。では、これによってコンテキストスイッチが発生しないのはなぜですか?カーネルプロセスはユーザープロセスとは異なるため。または、カーネルルーチン(システムコールによって呼び出される)とユーザープロセスが同じプロセスに属していると言っているのは間違っていますか?