Share via


/DEPENDENTLOADFLAG (nastavení výchozích příznaků načítání závislých knihoven DLL)

Možnost /DEPENDENTLOADFLAG vyžaduje Visual Studio 2017 nebo novější.

Nastaví výchozí příznaky zatížení používané při překladu staticky propojených importů modulu.

Syntaxe

/DEPENDENTLOADFLAG[:load_flags]

Argumenty

load_flags
Volitelná celočíselná hodnota, která určuje příznaky zatížení, které se mají použít při překladu staticky propojených závislostí importu modulu. Výchozí hodnota je 0. Seznam podporovaných hodnot příznaků naleznete v LOAD_LIBRARY_SEARCH_* položkách LoadLibraryEx.

Poznámky

Když operační systém vyřeší staticky propojené importy modulu, použije výchozí pořadí hledání. Pomocí možnosti /DEPENDENTLOADFLAG zadejte hodnotu load_flags, která změní cestu hledání použitou k vyřešení těchto importů. V podporovaných operačních systémech změní pořadí vyhledávání v rozlišení statického importu podobně jako LoadLibraryEx při použití LOAD_LIBRARY_SEARCH parametrů. Informace o pořadí hledání nastaveném podle load_flags naleznete v tématu Pořadí hledání pomocí příznaků LOAD_LIBRARY_SEARCH.

Tento příznak lze použít k tomu, aby jeden vektor útoku na sadbu DLL byl obtížnější. Představte si například aplikaci, která staticky propojila knihovnu DLL:

  • Útočník by mohl vytvořit knihovnu DLL se stejným názvem dříve v cestě hledání překladu importu, například adresář aplikace. Chráněné adresáře jsou obtížnější , ale ne nemožné – aby se útočník změnil.

  • Pokud v aplikaci chybí knihovna DLL, adresáře %windows%\system32 a %windows%, překlad importu spadá do aktuálního adresáře. Útočník by tam mohl vytvořit knihovnu DLL.

Pokud v obou případech zadáte možnost /DEPENDENTLOADFLAG:0x800 propojení (hodnota příznaku LOAD_LIBRARY_SEARCH_SYSTEM32), bude vyhledávací cesta modulu omezena na adresář %windows%\system32. Nabízí určitou ochranu před útoky na sadbu na ostatní adresáře. Další informace naleznete v tématu Zabezpečení dynamické knihovny.

Chcete-li zobrazit hodnotu nastavenou parametrem /DEPENDENTLOADFLAG v libovolné knihovně DLL, použijte příkaz DUMPBIN s parametrem /LOADCONFIG .

Možnost /DEPENDENTLOADFLAG je v sadě Visual Studio 2017 nová. Platí jenom pro aplikace spuštěné ve Windows 10 RS1 a novějších verzích Windows. Tato možnost je ignorována jinými operačními systémy, které aplikaci spouští.

Nastavení možnosti linkeru DEPENDENTLOADFLAG ve vývojovém prostředí sady Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností linkeru>Vlastností konfigurace>příkazového řádku.

  3. Zadejte možnost v části Další možnosti.

Programové nastavení tohoto parametru linkeru

Viz také