問題タブ [nt-native-api]

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 投票する
2 に答える
1601 参照

visual-c++ - カーネル モードでのファイルの読み取り

ドライバーを作成していて、いくつかのファイルを読みたいと思っています。「ZwReadFile()」または同様の関数を使用して、ファイルの内容を 1 行ずつ読み取り、ループで処理できるようにする方法はありますか。

MSDN のドキュメントには、次のように記載されています。- ZwReadFile は、指定された ByteOffset または現在のファイル位置から、指定された Buffer への読み取りを開始します。次のいずれかの条件で読み取り操作を終了します。

  1. Length パラメーターで指定されたバイト数が読み取られたため、バッファーがいっぱいです。したがって、オーバーフローしない限り、これ以上データをバッファに入れることはできません。
  2. 読み取り操作中にファイルの終わりに達したため、ファイルにはバッファに転送するデータがありません。

ありがとう。

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

winapi - ネイティブ NT テキストモードでグラフィックスを取得するにはどうすればよいですか?

EASEUS Partition Masterプログラムは、Windows GUI が起動する前にグラフィック を表示できるようです (つまり、ブート時に CheckDisk が実行されるのと同時に実行されます)。

私がすでに知っていること

  1. これには、十分に文書化されていない関数が必要になる場合があります。それは私には問題ありません。

  2. ネイティブの NT 実行可能ファイルをコンパイルする方法は既に知っているので、回答から省略してもかまいません。

質問:

  1. すべてが起動する前に、どうすればグラフィックを表示できますか? (つまり、どの関数/ライブラリを使用していますか?)

  2. 書式設定され整列されたテキストを画面にどのように表示しますか?
    がテキストを書くことができることは知ってNtDisplayStringいますが、以下に示すように、フォーマットされた方法で描画することはできません。以下の動作を再現するために、どの関数を使用しますか?

スクリーンショット

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

c++ - ユーザーモードdllの高レベル関数をNTDLL.dllにマッピングする

Windows NT / 2000 Native API Reference』は、(Microsoftによる)文書化されていないネイティブAPIの包括的な文書(古くなっていますが)を提供しています。しかし、私は興味があります。ntdll.dllで宣言されている低レベル関数とkernel32.dll、advapi.dllなどのユーザーモード関数の間のマッピングを見つける方法はありますか。

例えば:

CreateFile関数がにマップされることを知っていますNtCreateFileMoveFileWithProgressWしかし、kernel32.dllの関数のntdll.dllの正確な関数はありません

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

windows - Win32名前空間の内容を一覧表示するにはどうすればよいですか?

(UNCパスプレフィックス:)と(Win32 Device NamespacesUNCパスプレフィックス:)の内容を一覧表示する方法はありますか?\\.\Win32 File Namespaces\\?\

目標は、UNC(汎用名前付け規則)を使用してそれらをナビゲートできるコマンドライン(1)ツールとして適したアプリケーションを用意することです。このためにすでに書かれたツールはありますか?私はWinObjを知っていますが、それはオープンソースやGUIツールではありません。

同様に、NT namespace?の下で使用可能な名前空間を一覧表示する方法

これらを処理するWindowsAPI呼び出しはありますか? Update 2 WinApiはこれには適していません。ハンス・パッサントロジャー・リップスコムのコメントで指摘されているように 、 NTネイティブAPIは適していません。

アップデート1それらがwinapiによって公開されていない場合、 WinObjはそれらをどのようにリストしますか?

参照: http: //msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#paths


(1):Win32コンソール

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

winapi - WindowsネイティブAPI呼び出し引数を解釈する

実行トレースに基づいて実行可能ファイルを分析しています。NtTraceツールを使用して実行トレースを取得しました。出力は、引数を使用した一連のネイティブAPI呼び出しです。次のAPI呼び出しを除いて、ほとんどのAPI呼び出しを解釈することができました。

で、を実際のレジストリキーNtQueryKeyにマップするにはどうすればよいですか。KeyHandle=0x46aさらに、それにNtDeviceIoControlFile基づいてIoControlCode=0x00012017、それがTCP_RECV、TCP_SENDなどであるかどうかを見つけることができます...

ありがとうございました。

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

windows - NT Native API から WOW64 の 32 ビット レジストリ ビューにデータを配置するにはどうすればよいですか?

NtCreateKey/ZwCreateKey関数の使用に制限されているアプリケーションがあります。(例: ドライバー) WOW64 で動作する、私が制御していない別のアプリケーションがあり、このレジストリ キーから値を読み取ります。

このアプリケーションが見つけられるように、レジストリ値を設定したいと考えています。ただし、WOW64 は -- に実装されているため、 を使用する場合のようにフラグをkernel32渡すことはできません。KEY_WOW64_32KEYRegOpenKeyEx

Wow6432Nodeに渡されるパスに含めるのが最も簡単な方法のようですZwCreateKeyが、MSDN はこれを推奨していません。

WOW64 は、Wow6432Node. 新しいアプリケーションでは、レジストリ キー パスで Wow6432Node を使用しないようにする必要があります。

これは、岩と難しい場所の間に私を置いているようです...どうすれば32ビットのレジストリビューにデータを配置できますか? MSDN 言語は「回避」と言っていますが、これWow6432Nodeは避けられない状況ですか?