diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1e62e2e1..580a29a94 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -39,6 +39,8 @@
- Resolves Brightness control
- Add AppleGVA patch set for HD3000 machines
- Mainly applicable for iMac12,x and iGPU-only MacBooks
+- Add EFICheckDisabler
+ - Based off stripped RestrictEvents.kext
## 0.2.5
diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index 18daca1c3..51c90b3f6 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -610,6 +610,24 @@
PlistPath
Contents/Info.plist
+
+ Arch
+ x86_64
+ Comment
+ Disable EFI Checks
+ Enabled
+
+ MaxKernel
+
+ MinKernel
+
+ BundlePath
+ EFICheckDisabler.kext
+ ExecutablePath
+
+ PlistPath
+ Contents/Info.plist
+
Arch
x86_64
diff --git a/payloads/Kexts/Acidanthera/EFICheckDisabler-v1.0.5.zip b/payloads/Kexts/Acidanthera/EFICheckDisabler-v1.0.5.zip
new file mode 100644
index 000000000..4f3f0aa60
Binary files /dev/null and b/payloads/Kexts/Acidanthera/EFICheckDisabler-v1.0.5.zip differ
diff --git a/payloads/Kexts/Acidanthera/EFICheckDisabler.md b/payloads/Kexts/Acidanthera/EFICheckDisabler.md
new file mode 100644
index 000000000..528124964
--- /dev/null
+++ b/payloads/Kexts/Acidanthera/EFICheckDisabler.md
@@ -0,0 +1 @@
+Based off RestrictEvents.kext, stripped binary to block Apple's EFICheck driver
diff --git a/resources/build.py b/resources/build.py
index 6c0f8cf93..2e0858dd6 100644
--- a/resources/build.py
+++ b/resources/build.py
@@ -708,6 +708,10 @@ class BuildOpenCore:
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.filesystems.apfs")["Enabled"] = True
# Lets us check in sys_patch.py if config supports FileVault
self.config["NVRAM"]["Add"]["4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102"]["OCLP-Settings"] += " -allow_fv"
+ if self.get_kext_by_bundle_path("RestrictEvents.kext")["Enabled"] is False:
+ # Ensure this is done at the end so all previous RestrictEvents patches are applied
+ # RestrictEvents and EFICheckDisabler will confilict if both are injected
+ self.enable_kext("EFICheckDisabler.kext", self.constants.restrictevents_version, self.constants.efi_disabler_path)
def set_smbios(self):
spoofed_model = self.model
diff --git a/resources/cli_menu.py b/resources/cli_menu.py
index 7b6557d1e..3b6105a06 100644
--- a/resources/cli_menu.py
+++ b/resources/cli_menu.py
@@ -854,7 +854,7 @@ system_profiler SPHardwareDataType | grep 'Model Identifier'
# MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).set_amfi,
# ],
[
- f"Set System Intrgity Protection (SIP):\tCurrently {self.constants.sip_status}",
+ f"Set System Integrity Protection (SIP):\tCurrently {self.constants.sip_status}",
MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).change_sip,
],
[
diff --git a/resources/constants.py b/resources/constants.py
index 09b69bf59..32abb26fe 100644
--- a/resources/constants.py
+++ b/resources/constants.py
@@ -256,6 +256,10 @@ class Constants:
@property
def restrictevents_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-v{self.restrictevents_version}.zip")
+
+ @property
+ def efi_disabler_path(self):
+ return self.payload_kexts_path / Path(f"Acidanthera/EFICheckDisabler-v{self.restrictevents_version}.zip")
@property
def restrictevents_mbp_path(self):