Untitled diff

Created Diff never expires
34 刪除
總計
刪除
單詞
總計
刪除
要繼續使用此功能,請升級到
Diffchecker logo
Diffchecker Pro
40
112 新增
總計
新增
單詞
總計
新增
要繼續使用此功能,請升級到
Diffchecker logo
Diffchecker Pro
106
/* @class OSSystemExtensionPointListener */
/* @class OSSystemExtensionPointListener */
-(char)listener:(void *)arg2 shouldAcceptNewConnection:(void *)arg3 {
-(char)listener:(void *)arg2 shouldAcceptNewConnection:(void *)arg3 {
var_38 = [arg2 retain];
r12 = self;
r14 = [arg3 retain];
r13 = [arg2 retain];
os_unfair_lock_lock(self + 0x8);
rax = [arg3 retain];
rax = [self currentConnection];
if (rax != 0x0) {
rax = [rax retain];
r15 = rax;
[rax invalidate];
rax = [rax valueForEntitlement:@"com.apple.private.security.storage.SystemExtensionManagement"];
[rax release];
rax = [rax retain];
[self setCurrentConnection:r14];
var_40 = rax;
os_unfair_lock_unlock(self + 0x8);
if (*(int8_t *)__systemextensions_framework_testing_active != 0x0) {
objc_initWeak(&var_30, r14);
os_unfair_lock_lock(r12 + 0x8);
*(&var_40 - 0x28) = *__NSConcreteStackBlock;
rax = [r12 currentConnection];
*(&var_40 - 0x20) = 0xffffffffc2000000;
rax = [rax retain];
*(&var_40 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke;
[rax invalidate];
*(&var_40 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
[rax release];
*(&var_40 - 0x8) = self;
[r12 setCurrentConnection:r15];
objc_copyWeak(&var_40, &var_30);
os_unfair_lock_unlock(r12 + 0x8);
[r14 setInvalidationHandler:&var_68];
objc_initWeak(&var_30, r15);
*(&var_70 - 0x28) = *__NSConcreteStackBlock;
*(&var_48 - 0x28) = *__NSConcreteStackBlock;
*(&var_70 - 0x20) = 0xffffffffc2000000;
*(&var_48 - 0x20) = 0xffffffffc2000000;
*(&var_70 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke.396;
*(&var_48 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke;
*(&var_70 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
*(&var_48 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
*(&var_70 - 0x8) = self;
*(&var_48 - 0x8) = r12;
objc_copyWeak(&var_70, &var_30);
objc_copyWeak(&var_48, &var_30);
[r14 setInterruptionHandler:&var_98];
[r15 setInvalidationHandler:&var_70];
rax = [NSXPCInterface interfaceWithProtocol:@protocol(_OSSystemExtensionPointInterface)];
*(&var_78 - 0x28) = *__NSConcreteStackBlock;
rax = [rax retain];
*(&var_78 - 0x20) = 0xffffffffc2000000;
[r14 setExportedInterface:rax];
*(&var_78 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke.407;
[rax release];
*(&var_78 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
[r14 setExportedObject:self];
*(&var_78 - 0x8) = r12;
[r14 resume];
objc_copyWeak(&var_78, &var_30);
objc_destroyWeak(&var_70);
[r15 setInterruptionHandler:&var_A0];
objc_destroyWeak(&var_40);
rax = [NSXPCInterface interfaceWithProtocol:@protocol(_OSSystemExtensionPointInterface)];
objc_destroyWeak(&var_30);
rax = [rax retain];
[r14 release];
[r15 setExportedInterface:rax];
[var_38 release];
[rax release];
return 0x1;
[r15 setExportedObject:r12];
[r15 resume];
objc_destroyWeak(&var_78);
objc_destroyWeak(&var_48);
objc_destroyWeak(&var_30);
r14 = 0x1;
r13 = r13;
}
else {
rbx = rax;
if (rax != 0x0 && [rbx isKindOfClass:[NSNumber class]] != 0x0) {
if ([rbx boolValue] == 0x0) {
r14 = 0x0;
NSLog(@"XPC denied because caller lacks entitlement");
[r15 invalidate];
}
else {
os_unfair_lock_lock(r12 + 0x8);
rax = [r12 currentConnection];
rax = [rax retain];
[rax invalidate];
[rax release];
[r12 setCurrentConnection:r15];
os_unfair_lock_unlock(r12 + 0x8);
objc_initWeak(&var_30, r15);
*(&var_48 - 0x28) = *__NSConcreteStackBlock;
*(&var_48 - 0x20) = 0xffffffffc2000000;
*(&var_48 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke;
*(&var_48 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
*(&var_48 - 0x8) = r12;
objc_copyWeak(&var_48, &var_30);
[r15 setInvalidationHandler:&var_70];
*(&var_78 - 0x28) = *__NSConcreteStackBlock;
*(&var_78 - 0x20) = 0xffffffffc2000000;
*(&var_78 - 0x18) = ___69-[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:]_block_invoke.407;
*(&var_78 - 0x10) = ___block_descriptor_48_e8_32s40w_e5_v8?0l;
*(&var_78 - 0x8) = r12;
objc_copyWeak(&var_78, &var_30);
[r15 setInterruptionHandler:&var_A0];
rax = [NSXPCInterface interfaceWithProtocol:@protocol(_OSSystemExtensionPointInterface)];
rax = [rax retain];
[r15 setExportedInterface:rax];
[rax release];
[r15 setExportedObject:r12];
[r15 resume];
objc_destroyWeak(&var_78);
objc_destroyWeak(&var_48);
objc_destroyWeak(&var_30);
r14 = 0x1;
r13 = r13;
}
}
else {
r14 = 0x0;
NSLog(@"XPC denied because caller lacks entitlement");
[r15 invalidate];
}
}
[var_40 release];
[r15 release];
[r13 release];
rax = r14 & 0xff;
}
else {
rax = -[OSSystemExtensionPointListener listener:shouldAcceptNewConnection:].cold.1();
}
return rax;
}
}