Share via


/DEPENDENTLOADFLAG (Mengatur bendera beban dependen default)

Opsi /DEPENDENTLOADFLAG memerlukan Visual Studio 2017 atau yang lebih baru.

Mengatur bendera beban default yang digunakan saat sistem operasi menyelesaikan impor modul yang ditautkan secara statis.

Sintaks

/DEPENDENTLOADFLAG[:load_flags]

Argumen

load_flags
Nilai bilangan bulat opsional yang menentukan bendera beban yang akan diterapkan saat menyelesaikan dependensi impor modul yang ditautkan secara statis. Nilai default adalah 0. Untuk daftar nilai bendera yang didukung, lihat LOAD_LIBRARY_SEARCH_* entri di LoadLibraryEx.

Keterangan

Ketika sistem operasi menyelesaikan impor modul yang ditautkan secara statis, sistem operasi menggunakan urutan pencarian default. Gunakan opsi /DEPENDENTLOADFLAG untuk menentukan nilai load_flags yang mengubah jalur pencarian yang digunakan untuk mengatasi impor ini. Pada sistem operasi yang didukung, ini mengubah urutan pencarian resolusi impor statis, mirip dengan apa yang dilakukan LoadLibraryEx saat menggunakan LOAD_LIBRARY_SEARCH parameter. Untuk informasi tentang urutan pencarian yang ditetapkan oleh load_flags, lihat Urutan pencarian menggunakan bendera LOAD_LIBRARY_SEARCH.

Bendera ini dapat digunakan untuk membuat satu vektor serangan penanaman DLL lebih sulit. Misalnya, pertimbangkan aplikasi yang telah menautkan DLL secara statis:

  • Penyerang dapat menanam DLL dengan nama yang sama sebelumnya di jalur pencarian resolusi impor, seperti direktori aplikasi. Direktori yang dilindungi lebih sulit - tetapi tidak mustahil - bagi penyerang untuk berubah.

  • Jika DLL hilang dari aplikasi, direktori %windows%\system32, dan %windows%, resolusi impor jatuh ke direktori saat ini. Penyerang dapat menanam DLL di sana.

Dalam kedua kasus, jika Anda menentukan opsi /DEPENDENTLOADFLAG:0x800 tautan (nilai bendera LOAD_LIBRARY_SEARCH_SYSTEM32), maka jalur pencarian modul terbatas pada direktori %windows%\system32. Ini menawarkan beberapa perlindungan dari serangan penanaman pada direktori lain. Untuk informasi selengkapnya, lihat Keamanan Pustaka Dynamic-Link.

Untuk melihat nilai yang ditetapkan oleh opsi /DEPENDENTLOADFLAG di DLL apa pun, gunakan perintah DUMPBIN dengan opsi /LOADCONFIG .

Opsi /DEPENDENTLOADFLAG baru di Visual Studio 2017. Ini hanya berlaku untuk aplikasi yang berjalan pada Windows 10 RS1 dan versi Windows yang lebih baru. Opsi ini diabaikan oleh sistem operasi lain yang menjalankan aplikasi.

Untuk mengatur opsi penghubung DEPENDENTLOADFLAG di lingkungan pengembangan Visual Studio

  1. Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.

  2. Pilih halaman properti Properti Konfigurasi>Penaut>Baris Perintah.

  3. Masukkan opsi di Opsi Tambahan.

Untuk menyetel opsi linker ini secara terprogram

Baca juga