Udostępnij za pośrednictwem


/DEPENDENTLOADFLAG (Ustaw domyślne zależne flagi ładowania)

Opcja /DEPENDENTLOADFLAG wymaga programu Visual Studio 2017 lub nowszego.

Ustawia domyślne flagi ładowania używane, gdy system operacyjny rozwiązuje statycznie połączone importy modułu.

Składnia

/DEPENDENTLOADFLAG[:load_flags]

Argumenty

load_flags
Opcjonalna wartość całkowita określająca flagi ładowania, które mają być stosowane podczas rozpoznawania statycznie połączonych zależności importu modułu. Wartość domyślna to 0. Aby uzyskać listę obsługiwanych wartości flag, zobacz wpisy w elem LOAD_LIBRARY_SEARCH_* . LoadLibraryEx.

Uwagi

Gdy system operacyjny rozpoznaje statycznie połączone importy modułu, używa domyślnej kolejności wyszukiwania. Użyj opcji /DEPENDENTLOADFLAG, aby określić load_flags wartość, która zmienia ścieżkę wyszukiwania używaną do rozpoznawania tych importów. W obsługiwanych systemach operacyjnych zmienia statyczną kolejność wyszukiwania rozpoznawania importów, podobnie jak w przypadku używania LOAD_LIBRARY_SEARCH parametrów loadLibraryEx. Aby uzyskać informacje na temat kolejności wyszukiwania ustawionej przez load_flags, zobacz Wyszukiwanie kolejności przy użyciu flag LOAD_LIBRARY_SEARCH.

Tej flagi można użyć, aby jeden wektor ataku sadzenia bibliotek DLL był trudniejszy. Rozważmy na przykład aplikację, która statycznie połączyła bibliotekę DLL:

  • Osoba atakująca może założyć bibliotekę DLL o takiej samej nazwie we wcześniejszej ścieżce wyszukiwania rozpoznawania importu, takiej jak katalog aplikacji. Katalogi chronione są trudniejsze — ale nie niemożliwe — aby osoba atakująca uległa zmianie.

  • Jeśli w aplikacji brakuje biblioteki DLL, katalogów %windows%\system32 i %windows%, funkcja rozpoznawania importu przechodzi do bieżącego katalogu. Osoba atakująca może tam położyć bibliotekę DLL.

W obu przypadkach, jeśli określisz opcję /DEPENDENTLOADFLAG:0x800 łącza (wartość flagi LOAD_LIBRARY_SEARCH_SYSTEM32), ścieżka wyszukiwania modułu jest ograniczona do katalogu %windows%\system32. Oferuje pewną ochronę przed atakami na inne katalogi. Aby uzyskać więcej informacji, zobacz Zabezpieczenia biblioteki dynamicznej.

Aby wyświetlić wartość ustawioną przez opcję /DEPENDENTLOADFLAG w dowolnej dll, użyj polecenia DUMPBIN z opcją /LOADCONFIG .

Opcja /DEPENDENTLOADFLAG jest nowa w programie Visual Studio 2017. Dotyczy tylko aplikacji działających w systemie Windows 10 RS1 i nowszych wersjach systemu Windows. Ta opcja jest ignorowana przez inne systemy operacyjne, które uruchamiają aplikację.

Aby ustawić opcję konsolidatora DEPENDENTLOADFLAG w środowisku projektowym programu Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości wiersza polecenia konsolidatora>konfiguracji.>

  3. Wprowadź opcję w obszarze Dodatkowe opcje.

Aby programowo ustawić tę opcję konsolidatora

Zobacz też