From a4ad29a5427f85d9401f92a07c35534cceb617cb Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sat, 30 May 2026 07:18:07 +0700 Subject: [PATCH] Bypass blackening camera while mirroring is in use --- BypassMirroringUnlock.x | 13 +++++++++++++ Makefile | 2 +- README.md | 5 +++-- filter.plist | 3 ++- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/BypassMirroringUnlock.x b/BypassMirroringUnlock.x index 1eb138d..7f80d0d 100644 --- a/BypassMirroringUnlock.x +++ b/BypassMirroringUnlock.x @@ -1,4 +1,6 @@ @import Foundation; +@import QuartzCore; +@import UIKit; @interface SBContinuitySessionSystemEventMonitor : NSObject - (BOOL)isUILocked; @@ -31,11 +33,22 @@ %end %end +%group Hook_cameracaptured_FixBlackCamera +// also see -[FigCaptureCameraSourcePipeline setBlackenFramesForContinuityDisplayConnected:] +%hook FigCaptureDisplayLayoutMonitor +- (BOOL)isDisplayConnected { + return NO; +} +%end +%end + %ctor { NSString *processName = NSProcessInfo.processInfo.processName; if (@available(iOS 18.0, *)) { if ([processName isEqualToString:@"SpringBoard"]) { %init(Hook_SpringBoard_iOS18); + } else if ([processName isEqualToString:@"cameracaptured"]) { + %init(Hook_cameracaptured_FixBlackCamera); } } } diff --git a/Makefile b/Makefile index 3634c78..94490be 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ TARGET := iphone:clang:18.4:15.0 -INSTALL_TARGET_PROCESSES = appstorecomponentsd installd managedappdistributiond SpringBoard MobileStorageMounter +INSTALL_TARGET_PROCESSES = appstorecomponentsd installd managedappdistributiond SpringBoard MobileStorageMounter cameracaptured THEOS_PACKAGE_SCHEME := rootless include $(THEOS)/makefiles/common.mk diff --git a/README.md b/README.md index a7c4f6f..73ae925 100644 --- a/README.md +++ b/README.md @@ -12,5 +12,6 @@ Stock apps are provided via an internal server which is inaccessible outside of ## Bypassing EU/Japan Marketplace checks The old method of using [eligibility plist](https://github.com/Lrdsnow/EUEnabler) no longer works. This tweak bypasses the checks to allow accessing EU Marketplace apps on "AI" devices. -## Bypassing iPhone Mirroring disconnect on unlock -iPhone Mirroring requires the device to remain locked, which disallows using both iPhone Mirroring and device display simultaneously. This tweak bypasses the check to allow using iPhone Mirroring while the device is unlocked, so you can have 2 apps running side by side, one on the device and one on iPhone Mirroring. +## Bypassing iPhone Mirroring checks +- iPhone Mirroring requires the device to remain locked, which disallows using both iPhone Mirroring and device display simultaneously. This tweak bypasses the check to allow using iPhone Mirroring while the device is unlocked, so you can have 2 apps running side by side, one on the device and one on iPhone Mirroring. +- iPhone Mirroring also disables Camera and Microphone access, this tweak bypasses the check to allow using them while mirroring. (only camera is bypassed for now) diff --git a/filter.plist b/filter.plist index 9eb5210..678deca 100644 --- a/filter.plist +++ b/filter.plist @@ -4,6 +4,7 @@ "com.apple.UIKit", ); Executables = ( + cameracaptured, SwitchBoard, "hidd.nonui", SpringBoard, @@ -13,4 +14,4 @@ MobileStorageMounter, ); }; -} \ No newline at end of file +}