問題タブ [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.

0 投票する
1 に答える
963 参照

networking - ユーザーモードの MPTCP

カーネル モードではなく、ユーザー モードでの MPTCP の実装はありますか? いいえの場合、ユーザー モードでカーネル モードのソース コードを再利用するための提案はありますか?

http://www.multipath-tcp.org

https://github.com/multipath-tcp/mptcp

0 投票する
1 に答える
1064 参照

windows - LdrLoadDll のカーネル モード コールバックはありますか?

LdrLoadDll私はexeプロファイラーを作成しようとしていますが、カーネルモードドライバーにフックすることにより、exeでロード/使用するすべてのDLLをトレース/ログに記録したいと考えています(過去にユーザーモードを作成しました)。私の問題は、Windows の 64 ビット バージョンにあります。64 ビットではSSDTフックを使用できず、これに対する代替ソリューションが見つからないためです。

64Bitでは、次のようなカーネル モード コールバックがあります。私の質問は次のとおりです。LdrLoadDll のカーネルモード コールバックはありますか? または、64 ビット カーネル フックの解決策を見つける必要がありますか?

0 投票する
0 に答える
777 参照

windows - カーネルモードでサービスの名前を取得するにはどうすればよいですか? (ウィンドウズ)

ゲームの特定のアンチチートをバイパスするために、Windows 7 x64 の SSDT をフックしています (既に正しくフックしていますが、それは問題ではありません)。

問題: Windows サービスの svchost.exe を常に出力するため、exe 名を取得しようとしても役に立ちません。アンチチートがサービスで動作しているため、どの svchost.exe がアンチであるかを正しく「推測」できません。 -浮気。

(疑似) コード:

NTSTATUS newOpenProcess(ProcessHandle, DesiredAccess, ObjectAttributes, ClientId) { if(ClientId points to our game) // checks name of process to be opened DbgPrint("%s", PsGetProcessImageFileName(PsGetCurrentProcess())); // svchost.exe - NEED THE SERVICE NAME return oldOpenProcess(ProcessHandle, DesiredAccess, ObjectAttributes, ClientId); }

注意: これは学習目的以外には使用できません。これは、マルウェアなどのためのものではありません。違法ではありません!

0 投票する
2 に答える
460 参照

c++ - ミニフィルターはファイルをディスクにドラッグ アンド ドロップしますか?

ファイルを傍受し、特定のディスクにドラッグアンドドロップされたファイルの名前を取得してファイル名を取得するミニフィルターを開発しています。

ファイルをドラッグ アンド ドロップすると、このファイル名を取得して正常にインターセプトできます (つまり、このファイルはディスク上に作成されません)。

複数のファイルをドラッグ アンド ドロップすると、最初のファイル名しか取得できず、他のファイル名は取得できません。しかし、ディスクを開くと、ここにファイルが表示されません (つまり、Mini-Filter がファイルを正常にインターセプトしたことを意味します)。そのため、ファイル名を取得できません(最初のファイルを除く)

それらをリダイレクトしてドラッグ&ドロップをインターセプトします:

  1. FltGetFileNameInformation()とFltParseFileNameInformation()でファイル名を取得
  2. 二つに分けて
    • 最初は: \Device\HarddiskVolume1\folder\
    • 2 つ目: file.ext
  3. 最初の部分にファイル名を追加します: \Device\HarddiskVolume1\folder\new_file.ext
  4. ディスク上での作成の傍受
    • このバッファを解放します: Data->Iopb->TargetFileObject->FileName.Buffer
    • 最初の部分を Data->Iopb->TargetFileObject->FileName に割り当てます
    • これを設定します: Data->Iopb->TargetFileObject->RelatedFileObject = NULL;
    • Data->IoStatus.Information = IO_REPARSE;
    • データ->IoStatus.Status = STATUS_REPARSE;
    • FLT_PREOP_SUCCESS_NO_CALLBACK を返します。

上記のコードは、すべてのファイルを傍受して最初のファイル名を取得することしかできません。

複数のファイルをドラッグ アンド ドロップしたときに、各ファイルをインターセプトするにはどうすればよいですか?

0 投票する
4 に答える
3545 参照

c - カーネルモードからファイルを削除するには?

ミニフィルター (カーネルモード) があります。特定のパス (\Device\HarddiskVolume1\file.txt または C:\file.txt) のファイルをカーネル モードから削除したい

それを行う方法はありますか?

更新: 20150130

ハリー・ジョンストンが言ったように、私はZwDeleteFile ルーチンを使用しようとしています。これらは私のコードです:

しかし、それは私のシステムをクラッシュさせます。コードに何か問題がありますか? =>修正済み(これが答えです)

ありがとう!

0 投票する
1 に答える
1086 参照

c++ - Minifilter redirect file creation in pre operation?

I am trying to redirect file creation on a volume of hard disk (i.e \Device\HarddiskVolume2)

I found redirecting file name in minifilter open pre. But I got a system dialog as below

enter image description here

Here is my code:

I want this dialog to be not show. How should I do?

Thanks very much!