kernel32.dll (またはその他) の API にサブルーチンがあるかどうか疑問に思っていました。たとえば、CopyFile 関数では、ファイルを C: から D: にコピーしたり、ネットシェア パス (\HOSTNAME\SHAREDFOLDER\FILENAME) からどこかにコピーしたり、Windows Server 2012 (hyper-v) の新機能ODXをトリガーしたりするために、異なるアクションを実行する必要があります。 . つまり、CopyFile 関数の定義には、if/else 分岐がいくつかあり、サブ関数を呼び出す必要がありますね。サブルーチンが存在する場合。これらのサブ関数を直接呼び出すことは可能ですか?それらをフックすることは可能ですか? ありがとう。
質問する
306 次
1 に答える
0
私の知る限り、現在のkernel32.dll
呼び出し関数の実装はntdll.dll
. の関数はntdll.dll
、何らかの方法でカーネルに syscall を実行します。
あなたの質問に答えるために、はい、それはサブルーチンを呼び出します、そしてそれらはおそらくフックされる可能性がありますが、さまざまな方法でファイルシステムから読み書きする方法に関するロジックのほとんどは、おそらくカーネルに埋め込まれています。
おそらく、これらの DLL の内部を掘り下げることは想定されていないことに注意してください。パブリック インターフェイスを使用することをお勧めします。実装の詳細に依存すると、コードが脆弱になり、オペレーティング システムのアップグレードで壊れる可能性が高くなります。
于 2013-07-26T04:09:40.890 に答える