SamuelTulach / SecureFakePkg

Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SecureFakePkg

SecureFakePkg is a simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled. In other words, it fakes secure boot status.

Please note: Before loading the driver, check that you have vendor (Microsoft) keys enrolled. If not, try enabling secure boot and then disabling it. You can check that they are enrolled with dmpstore -b command in EFI shell. You should see something like this.

screen0 screen1

Usage

In order to use SecureFakePkg, you need to load it. First, obtain a copy of SecureFakePkg.efi and a copy of EDK2 efi shell. Now follow these steps:

  1. Extract downloaded efi shell and rename file Shell.efi (should be in folder UefiShell/X64) to bootx64.efi
  2. Format some USB drive to FAT32
  3. Create following folder structure:
USB:.
 │   SecureFakePkg.efi
 │
 └───EFI
      └───Boot
              bootx64.efi
  1. Boot from the USB drive
  2. An UEFI shell should start, change directory to your USB (FS0 should be the USB since we are booting from it) and list files:
FS0:
ls
  1. You should see file SecureFakePkg.efi, if you do, load it:
load SecureFakePkg.efi
  1. Now you should see output from SecureFakePkg. If it was successful, exit and boot into Windows (change to Windows boot media - usually FS1 - and run \EFI\Boot\bootx64.efi)

Compiling

See VisualEfi.

Download

See UnknownCheats post for compiled version.

About

Simple EFI runtime driver that hooks GetVariable function and returns data expected by Windows to make it think that it's running with secure boot enabled (faking secure boot)


Languages

Language:C 75.7%Language:Python 14.7%Language:Perl 5.4%Language:Assembly 1.3%Language:Rich Text Format 0.9%Language:C++ 0.7%Language:GAP 0.4%Language:HTML 0.3%Language:ASL 0.2%Language:Shell 0.2%Language:Makefile 0.1%Language:Batchfile 0.1%Language:M4 0.1%Language:Roff 0.0%Language:PLSQL 0.0%Language:NASL 0.0%Language:R 0.0%Language:DIGITAL Command Language 0.0%Language:ANTLR 0.0%Language:eC 0.0%Language:Emacs Lisp 0.0%Language:PHP 0.0%Language:Module Management System 0.0%Language:NSIS 0.0%Language:CSS 0.0%Language:VBScript 0.0%Language:Lua 0.0%Language:GDB 0.0%