diff --git a/Xcode/ConfigValidator/ConfigValidator/ConfigValidator.c b/Xcode/ConfigValidator/ConfigValidator/ConfigValidator.c deleted file mode 100644 index 5228e80a9..000000000 --- a/Xcode/ConfigValidator/ConfigValidator/ConfigValidator.c +++ /dev/null @@ -1,451 +0,0 @@ -#if 0 - CloverConfigPlistValidator, Credit: Jief_Machak - ConfigValidator, Credit: chris1111 - shc Version 3.8.9b, Copyright (c) 1994-2015 Francisco Rosales - -#endif - -static char data [] = -#define msg2_z 19 -#define msg2 ((&data[0])) - "\073\057\031\325\140\002\027\264\142\242\317\153\205\200\012\374" - "\200\102\313\260\252\035\025" -#define date_z 1 -#define date ((&data[23])) - "\025" -#define tst1_z 22 -#define tst1 ((&data[29])) - "\332\322\333\016\217\341\062\141\246\137\012\376\060\323\125\266" - "\200\200\252\212\076\013\316\240\376\200\241" -#define rlax_z 1 -#define rlax ((&data[51])) - "\373" -#define msg1_z 42 -#define msg1 ((&data[62])) - "\012\140\274\102\361\237\127\310\172\114\152\132\057\012\147\254" - "\265\031\350\333\267\210\167\146\336\334\105\061\354\106\032\172" - "\102\154\122\157\302\212\023\075\053\370\217\064\156\253\103\113" - "\002\367\124\075\032\213\351\145\265\155" -#define chk1_z 22 -#define chk1 ((&data[112])) - "\144\112\000\347\101\050\266\262\246\042\352\107\007\261\312\166" - "\213\070\312\056\361\205\270\121\037\032\243\216" -#define tst2_z 19 -#define tst2 ((&data[140])) - "\354\136\321\236\224\340\222\141\061\041\216\000\103\164\377\207" - "\010\031\123\111\147\144\307" -#define shll_z 8 -#define shll ((&data[163])) - "\377\344\012\332\034\152\240\354\112\154" -#define opts_z 1 -#define opts ((&data[171])) - "\367" -#define xecc_z 15 -#define xecc ((&data[175])) - "\065\050\062\273\057\367\363\125\374\322\373\224\343\275\230\112" - "\001\044\304\047" -#define chk2_z 19 -#define chk2 ((&data[192])) - "\257\000\077\207\001\217\251\035\351\267\312\100\063\265\026\076" - "\000\205\373\165\114\067\160" -#define inlo_z 3 -#define inlo ((&data[215])) - "\321\141\005" -#define text_z 903 -#define text ((&data[359])) - "\260\163\253\150\344\124\111\145\057\122\016\331\256\167\011\243" - "\176\156\307\070\161\341\355\010\066\141\132\024\165\327\362\375" - "\224\272\114\050\000\051\204\361\312\362\127\234\323\066\230\224" - "\353\005\037\103\021\365\144\200\111\023\152\121\241\140\126\363" - "\316\300\176\213\026\361\345\277\004\352\106\222\324\256\074\006" - "\225\147\036\362\106\267\037\016\343\355\256\126\160\002\223\372" - "\223\236\065\140\127\105\264\273\071\363\061\052\167\313\145\260" - "\343\163\174\117\331\351\156\160\360\173\036\232\041\170\032\325" - "\017\145\336\052\166\177\115\300\332\060\165\360\376\352\270\343" - "\272\021\343\233\211\355\343\167\266\171\041\171\264\103\277\212" - "\261\066\314\335\102\170\232\236\332\332\374\305\356\057\377\002" - "\262\134\336\010\371\000\132\371\254\211\215\204\043\273\311\224" - "\067\315\277\157\252\341\375\361\071\004\255\172\073\355\072\115" - "\304\233\144\012\027\225\147\145\217\005\141\104\166\234\241\345" - "\311\317\274\017\162\202\310\224\034\212\144\226\140\005\007\202" - "\131\265\170\305\337\242\214\367\072\104\105\243\026\273\330\056" - "\236\200\364\002\001\163\112\336\106\173\306\353\303\330\374\357" - "\231\265\025\074\154\210\346\066\272\024\046\256\327\017\137\316" - "\307\241\020\057\051\121\037\222\341\270\036\113\325\350\011\011" - "\023\123\234\173\137\117\143\075\141\357\021\125\334\315\371\007" - "\206\037\234\174\312\167\157\104\233\366\045\277\357\023\141\077" - "\244\076\032\122\307\123\131\300\052\237\266\221\231\205\336\171" - "\365\162\015\374\161\254\162\337\201\073\215\026\136\243\074\252" - "\155\134\035\270\314\006\074\135\132\372\024\236\063\010\174\066" - "\175\122\360\015\032\310\206\136\321\260\226\132\102\304\302\073" - "\256\221\240\002\165\127\070\023\247\012\335\162\203\152\230\015" - "\347\165\171\232\260\172\033\070\233\044\276\030\034\374\222\342" - "\012\247\261\130\111\213\265\000\055\063\161\313\130\003\350\360" - "\065\163\127\143\235\042\032\044\261\334\116\016\115\124\120\357" - "\064\201\073\040\266\123\014\116\366\366\242\310\234\004\332\066" - "\142\041\003\131\207\336\275\025\360\055\305\154\066\132\253\275" - "\300\064\360\363\360\342\373\263\375\105\256\172\175\067\217\252" - "\110\254\173\207\210\324\025\043\225\155\301\053\140\014\017\041" - "\010\223\124\316\023\277\016\153\307\314\223\313\206\173\050\042" - "\213\230\366\166\047\345\302\156\142\132\260\342\203\371\063\023" - "\044\170\233\313\363\003\135\325\062\241\300\365\361\343\067\141" - "\342\075\154\234\330\015\033\105\061\345\332\012\050\341\351\151" - "\375\134\252\262\251\252\205\173\242\203\166\141\160\270\322\221" - "\154\270\176\230\374\101\237\115\223\037\302\073\206\137\316\241" - "\051\214\206\237\220\202\114\252\060\256\032\340\040\123\376\256" - "\243\354\120\132\374\164\017\262\366\342\274\240\175\340\355\343" - "\030\260\065\131\161\132\010\062\002\322\115\035\271\204\004\301" - "\260\073\362\176\372\140\245\146\100\157\020\101\005\277\254\227" - "\241\215\220\144\102\262\226\252\027\337\166\073\146\255\051\217" - "\265\011\012\204\054\102\005\057\021\155\133\215\306\125\265\227" - "\323\032\270\020\162\160\330\363\146\254\171\244\340\302\246\375" - "\024\354\373\336\067\204\016\001\360\003\042\033\153\372\007\052" - "\252\163\272\363\331\215\354\303\131\210\077\327\144\245\302\030" - "\166\003\240\254\251\343\233\003\177\211\306\311\056\344\144\016" - "\356\123\375\172\006\000\252\121\272\100\145\145\331\313\023\222" - "\040\205\216\035\051\004\057\145\142\332\370\311\376\235\114\124" - "\161\363\211\074\345\127\324\032\377\141\107\322\332\346\075\360" - "\161\102\345\077\212\225\265\305\117\344\233\023\360\345\026\066" - "\054\000\301\207\067\131\214\072\077\277\202\045\321\031\112\372" - "\012\041\112\225\347\112\306\043\061\022\057\305\231\171\347\110" - "\051\376\355\353\340\134\255\375\354\015\145\275\004\127\370\146" - "\202\141\066\276\316\010\140\123\234\344\107\056\122\326\274\106" - "\262\153\341\105\277\336\342\311\246\231\307\243\263\325\374\235" - "\162\157\152\346\371\220\273\272\225\145\365\217\044\342\374\204" - "\314\300\157\247\360\063\323\376\227\370\272\105\271\260\362\275" - "\060\073\105\175\055\243\275\112\055\055\001\027\155\216\011\366" - "\326\226\353\014\321\162\225\313\021\202\154\130\116\047\071\343" - "\016\007\137\103\244\315\146\056\065\027\201\333\143\174\006\174" - "\352\017\174\266\062\276\176\231\220\105\171\155\137\156\134\015" - "\077\352\165\253\372\211\333\314\072\070\035\222\070\272\347\140" - "\007\333\002\022\042\073\253\064\221\270\255\110\101\140\303\205" - "\005\276\051\351\372\334\277\220\316\272\210\351\130\352\350\110" - "\377\060\325\154\341\042\011\100\221\057\234\344\207\222\056\016" - "\113\146\333\113\224\262\221\034\343\160\013\116\163\173\024\360" - "\177\307\050\116\046\230\024\367\340\221\001\103\036\236\201\154" - "\231\242\370\177\133\207\240\302\043\351\053\060\230\376\017\360" - "\330\030\311\347\123\136\261\243\240\344\123\026\016\366\123\045" - "\147\243\032\220\015\114\225\103\344\362\357\076\150\337\265\346" - "\172\016\034\257\360\222\022\140\365\332\162\016\317\230\074\260" - "\371\064\227\224\124\027\004\343\012\252\347\003\170\016\001\260" - "\032\363\000\336\162\051\131\370\150\104\074\013\073\110\111\341" - "\260\071\177\044\041\027\314\312\221\315\325\154\172\201\175\203" - "\067\143\105\151\005\121\126\107\031\262\065\126\103\356\227\302" - "\141\366\246\267" -#define lsto_z 1 -#define lsto ((&data[1470])) - "\171" -#define pswd_z 256 -#define pswd ((&data[1516])) - "\217\117\231\075\362\367\141\076\056\125\215\177\102\163\326\351" - "\142\250\147\342\347\132\322\257\104\166\020\337\027\330\317\165" - "\016\330\230\176\023\236\321\312\253\261\106\205\133\064\224\370" - "\277\154\050\130\167\137\031\154\231\336\220\174\317\046\061\046" - "\014\213\375\150\143\145\242\124\053\041\242\037\006\314\050\321" - "\205\327\016\234\212\270\326\231\277\211\164\355\236\211\375\101" - "\255\026\046\375\115\164\325\334\071\112\307\045\313\043\073\012" - "\363\171\141\335\217\244\343\307\352\326\310\374\310\275\232\315" - "\006\200\325\125\224\345\327\223\111\065\211\236\335\164\045\244" - "\024\264\121\345\240\352\177\303\377\357\333\135\175\110\110\055" - "\025\154\227\070\051\015\226\343\150\163\327\151\143\266\136\264" - "\164\045\113\251\152\313\142\306\224\231\377\002\175\305\354\326" - "\352\176\337\315\033\255\347\075\215\007\237\166\215\243\236\027" - "\346\325\346\003\244\070\213\337\000\373\360\226\272\141\054\240" - "\227\310\272\073\302\170\141\166\004\040\157\357\144\315\151\332" - "\361\362\324\363\231\035\025\360\031\160\165\040\121\240\260\372" - "\242\053\325\123\043\061\134\214\153\311\346\270\016\370\162\133" - "\300\312\370\072\046\060\235\150\027\132\160\070\244\222\024\014" - "\073\301\307\263\160\275\362\113\276\377\107\274\366\326\237\127" - "\114\051\330\303\326\221\104\231\153\304\247\144\317\132\152\102" - "\365\360\246\042\101\003\101\130\305\013\020\365\060"/* End of data[] */; -#define hide_z 4096 -#define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */ -#define TRACEABLE 1 /* Define as 1 to enable ptrace the executable */ - -/* rtc.c */ - -#include -#include - -#include -#include -#include -#include -#include -#include - -/* 'Alleged RC4' */ - -static unsigned char stte[256], indx, jndx, kndx; - -/* - * Reset arc4 stte. - */ -void stte_0(void) -{ - indx = jndx = kndx = 0; - do { - stte[indx] = indx; - } while (++indx); -} - -/* - * Set key. Can be used more than once. - */ -void key(void * str, int len) -{ - unsigned char tmp, * ptr = (unsigned char *)str; - while (len > 0) { - do { - tmp = stte[indx]; - kndx += tmp; - kndx += ptr[(int)indx % len]; - stte[indx] = stte[kndx]; - stte[kndx] = tmp; - } while (++indx); - ptr += 256; - len -= 256; - } -} - -/* - * Crypt data. - */ -void arc4(void * str, int len) -{ - unsigned char tmp, * ptr = (unsigned char *)str; - while (len > 0) { - indx++; - tmp = stte[indx]; - jndx += tmp; - stte[indx] = stte[jndx]; - stte[jndx] = tmp; - tmp += stte[indx]; - *ptr ^= stte[tmp]; - ptr++; - len--; - } -} - -/* End of ARC4 */ - -/* - * Key with file invariants. - */ -int key_with_file(char * file) -{ - struct stat statf[1]; - struct stat control[1]; - - if (stat(file, statf) < 0) - return -1; - - /* Turn on stable fields */ - memset(control, 0, sizeof(control)); - control->st_ino = statf->st_ino; - control->st_dev = statf->st_dev; - control->st_rdev = statf->st_rdev; - control->st_uid = statf->st_uid; - control->st_gid = statf->st_gid; - control->st_size = statf->st_size; - control->st_mtime = statf->st_mtime; - control->st_ctime = statf->st_ctime; - key(control, sizeof(control)); - return 0; -} - -#if DEBUGEXEC -void debugexec(char * sh11, int argc, char ** argv) -{ - int i; - fprintf(stderr, "shll=%s\n", sh11 ? sh11 : ""); - fprintf(stderr, "argc=%d\n", argc); - if (!argv) { - fprintf(stderr, "argv=\n"); - } else { - for (i = 0; i <= argc ; i++) - fprintf(stderr, "argv[%d]=%.60s\n", i, argv[i] ? argv[i] : ""); - } -} -#endif /* DEBUGEXEC */ - -void rmarg(char ** argv, char * arg) -{ - for (; argv && *argv && *argv != arg; argv++); - for (; argv && *argv; argv++) - *argv = argv[1]; -} - -int chkenv(int argc) -{ - char buff[512]; - unsigned long mask, m; - int l, a, c; - char * string; - extern char ** environ; - - mask = (unsigned long)&chkenv; - mask ^= (unsigned long)getpid() * ~mask; - sprintf(buff, "x%lx", mask); - string = getenv(buff); -#if DEBUGEXEC - fprintf(stderr, "getenv(%s)=%s\n", buff, string ? string : ""); -#endif - l = strlen(buff); - if (!string) { - /* 1st */ - sprintf(&buff[l], "=%lu %d", mask, argc); - putenv(strdup(buff)); - return 0; - } - c = sscanf(string, "%lu %d%c", &m, &a, buff); - if (c == 2 && m == mask) { - /* 3rd */ - rmarg(environ, &string[-l - 1]); - return 1 + (argc - a); - } - return -1; -} - -#if !TRACEABLE - -#define _LINUX_SOURCE_COMPAT -#include -#include -#include -#include -#include -#include -#include - -#if !defined(PTRACE_ATTACH) && defined(PT_ATTACH) -# define PTRACE_ATTACH PT_ATTACH -#endif -void untraceable(char * argv0) -{ - char proc[80]; - int pid, mine; - - switch(pid = fork()) { - case 0: - pid = getppid(); - /* For problematic SunOS ptrace */ -#if defined(__FreeBSD__) - sprintf(proc, "/proc/%d/mem", (int)pid); -#else - sprintf(proc, "/proc/%d/as", (int)pid); -#endif - close(0); - mine = !open(proc, O_RDWR|O_EXCL); - if (!mine && errno != EBUSY) - mine = !ptrace(PTRACE_ATTACH, pid, 0, 0); - if (mine) { - kill(pid, SIGCONT); - } else { - perror(argv0); - kill(pid, SIGKILL); - } - _exit(mine); - case -1: - break; - default: - if (pid == waitpid(pid, 0, 0)) - return; - } - perror(argv0); - _exit(1); -} -#endif /* !TRACEABLE */ - -char * xsh(int argc, char ** argv) -{ - char * scrpt; - int ret, i, j; - char ** varg; - char * me = argv[0]; - - stte_0(); - key(pswd, pswd_z); - arc4(msg1, msg1_z); - arc4(date, date_z); - if (date[0] && (atoll(date) 1) ? ret : 0; /* Args numbering correction */ - while (i < argc) - varg[j++] = argv[i++]; /* Main run-time arguments */ - varg[j] = 0; /* NULL terminated array */ -#if DEBUGEXEC - debugexec(shll, j, varg); -#endif - execvp(shll, varg); - return shll; -} - -int main(int argc, char ** argv) -{ -#if DEBUGEXEC - debugexec("main", argc, argv); -#endif -#if !TRACEABLE - untraceable(argv[0]); -#endif - argv[1] = xsh(argc, argv); - fprintf(stderr, "%s%s%s: %s\n", argv[0], - errno ? ": " : "", - errno ? strerror(errno) : "", - argv[1] ? argv[1] : "" - ); - return 1; -}