
أداة في وضع المستخدم تكتشف تجاوز DSE الخاص بـ EfiGuard عن طريق الاستعلام عن backdoor SetVariable للتحقق مما إذا كان PatchGuard معطلًا على أنظمة ويندوز.
الطريقة الأكثر سذاجةً للتحقق مما إذا كان EfiGuard قد أوقف PatchGuard الخاص بك أم لا.
يترك efiguard بابًا خلفيًا SetVariable في وقت التشغيل - نحن فقط ننقر عليه من وضع المستخدم لطلب قراءة 2 بايت من قاعدة ntoskrnl. إذا حصلنا على MZ - الباب الخلفي حي، efiguard قام بعمله، PG ميت.
يعمل فقط إذا اختار المستخدم طريقة تجاوز DSE الافتراضية (DSE_DISABLE_SETVARIABLE_HOOK) — وهي الافتراضية. إذا تم اختيار DSE_DISABLE_AT_BOOT بدلاً من ذلك، يتم إزالة الخطاف في ExitBootServices ولا يوجد شيء يمكن اكتشافه من وضع المستخدم.
يتطلب صلاحيات المسؤول + SeSystemEnvironmentPrivilege.
cl /EHsc src/main.cpp /link ntdll.lib psapi.lib
src/main.cpp