Skip to content

Commit 34bc62b

Browse files
committed
Switch to ElleKit JIT-less
1 parent 22c739f commit 34bc62b

4 files changed

Lines changed: 18 additions & 5 deletions

File tree

Resources/Info.plist

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
<dict/>
2525
<key>com.apple.frontboard.layout-monitor</key>
2626
<dict/>
27+
<key>com.apple.frontboard.orientation-observer</key>
28+
<dict/>
2729
<key>com.apple.frontboard.system-service</key>
2830
<dict/>
2931
<key>com.apple.frontboard.workspace-service</key>
@@ -51,6 +53,7 @@
5153
<string>com.apple.SpringBoard.SceneWorkspace.PerfPowerHUD</string>
5254
<string>com.apple.SpringBoard.SceneWorkspace.CameraOverlayUI</string>
5355
<string>com.apple.SpringBoard.SceneWorkspace.PrototypeTools</string>
56+
<string>com.apple.SpringBoard.SceneWorkspace.AudioHUD</string>
5457
</array>
5558
</dict>
5659
</dict>
@@ -94,6 +97,8 @@
9497
<dict/>
9598
<key>com.apple.springboard.multitasking-shortcut-service</key>
9699
<dict/>
100+
<key>com.apple.springboard.physical-button-target-monitor-service</key>
101+
<dict/>
97102
<key>com.apple.springboard.productivity-gesture-service</key>
98103
<dict/>
99104
<key>com.apple.springboard.remote-alert-service</key>

Tweak.x

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,10 +308,6 @@ typedef void (^LSBundleProxyHandler)(LSBundleProxy *proxy, BOOL *stop);
308308
}
309309
%end
310310

311-
%hookf(void, os_unfair_lock_assert_owner, const os_unfair_lock *lock) {
312-
// various functions in LaunchServices trip this assert, so do nothing
313-
}
314-
315311
// TODO
316312

317313
/*

hook.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ void redirectFunction(void *patchAddr, void *target) {
4747
}
4848

4949
void PerformHook(void* _target, void* _replacement, void** orig) {
50+
EKJITLessHook(_target, _replacement, orig);
51+
/*
5052
if(orig) {
51-
#if 0 // ellekit
53+
#if 1 // ellekit
5254
EKJITLessHook(_target, _replacement, orig);
5355
#else
5456
void *handle = dlopen("@executable_path/Frameworks/CydiaSubstrate.framework/CydiaSubstrate", RTLD_GLOBAL);
@@ -58,6 +60,7 @@ void PerformHook(void* _target, void* _replacement, void** orig) {
5860
} else {
5961
redirectFunction(_target, _replacement);
6062
}
63+
*/
6164
}
6265

6366

main.m

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#import "IgnoredAssertionHandler.h"
99
#include "xpc/xpc.h"
1010
#import "PrivateAPI.h"
11+
@import Darwin;
1112

1213
int (*_LSServerMain)(int argc, char *argv[], char *envp[]);
1314
extern void PerformHook(void* _target, void* _replacement, void** orig);
@@ -17,6 +18,11 @@ bool hook_os_variant_has_internal_content(const char* subsystem) {
1718
return true;
1819
}
1920

21+
void hook_os_unfair_lock_assert_owner() {
22+
// do nothing
23+
}
24+
25+
2026
void* hook_exit(int status) {
2127
NSLog(@"Ignored exit(%d)", status);
2228
// do not exit under any circumstances
@@ -45,6 +51,9 @@ int main(int argc, char *argv[], char *envp[]) {
4551
// Ignore all assertions
4652
[NSThread.currentThread.threadDictionary setObject:[IgnoredAssertionHandler new] forKey:NSAssertionHandlerKey];
4753

54+
// Ignore lock assertion
55+
PerformHook(os_unfair_lock_assert_owner, hook_os_unfair_lock_assert_owner, NULL);
56+
4857
// Avoid frameworks crashing due to not being SpringBoard :)
4958
PerformHook(os_variant_has_internal_content, hook_os_variant_has_internal_content, NULL);
5059
dlopen("/System/Library/PrivateFrameworks/SpringBoardHome.framework/SpringBoardHome", RTLD_GLOBAL);

0 commit comments

Comments
 (0)