dll 隱式加載 搜索路徑


E 可執行文件目錄
S 系統目錄(C:\Windows\System32)
S16 16 位系統目錄(C:\Windows\System)
C 當前目錄(注意,比如在 D:\ 下用 C:\Windows\Explorer.exe 這種形式從任何地方啓動應用程序,那麼此時 C 爲 D:\,E 爲 C:\Windows)
W Windows 目錄(C:\Windows)
P Path 環境變量中指定的目錄
D LoadLibrary 函數參數中指定的 DLL 文件所在目錄(如果有)

註冊表中的 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Sesssion Manager 下 SafeDllSearchMode DWORD 鍵值爲 1(默認)時啓用安全 DLL 搜索;爲 0 時禁用。
標準搜索順序:
如果啓用了安全 DLL 搜索:E S S16 W C P
如果禁用了安全 DLL 搜索:E C S S16 W P

用 SetDefaultDllDirectories 函數更改某個進程的 DLL 搜索行爲,需要打一個 KB2533623 補丁。

替換搜索順序:在 LoadLibraryEx 函數參數中指定 LOAD_WITH_ALTERED_SEARCH_PATH 開關。
如果啓用了安全 DLL 搜索:D S S16 W C P
如果禁用了安全 DLL 搜索:D C S S16 W P

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章