1

インポート ライブラリを使用して Windows システム dll とのロード時の動的リンクを実装する場合、どのディレクトリ検索順序が使用されますか?

と同等になりLoadLibrary("Iphlpapi.dll")ますか?完全修飾パスを使用しますか (つまり、LoadLibrary("C:\\windows\\system32\\Iphlpapi.dll")?

一部の一般的に使用される dll ( 「既知の dll」 ) は明らかに特別な扱いを受けますが、Iphlapi.dll などの他のシステムdll はどうですか?

DLL プリロード攻撃に対して脆弱ですか?

4

2 に答える 2

0

完全修飾パス、つまり ("C:\windows\system32\kernel.dll") を使用する必要があります...

于 2012-06-27T10:57:02.860 に答える
0

あなたが言及した URL から、ダイナミック リンク ライブラリ メカニズムの STATIC バージョンを使用しています。これは、DLL の対応する LIB を使用してアプリケーションをビルドする必要があり (この URL の説明を参照)、アプリケーションは起動時に DLL が存在することを期待することを意味します。この DLL が欠落している場合、アプリケーションは起動しません (これが、このメカニズムが「ロード時の動的リンクの使用」と呼ばれる理由です)。LoadLibrary を呼び出すことはできませんし、呼び出す必要もありません。これは、ローダーによって自動的に行われます (アプリと DLL の間の依存関係が、アプリケーションのいわゆるインポート アドレス テーブル (IAT) に置かれているため)。

于 2012-06-27T13:01:22.743 に答える