We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When trying to build it crashes:
szymonp@Szymon untether % ./build_native.sh ./build_native.sh: line 8: tools/bin/jsmin: No such file or directory src/gen/main.c:68:43: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types] for (new_what = (uint8_t*)what; new_what < (what + len); new_what += (cols * col_split)) { ~~~~~~~~ ^ ~~~~~~~~~~~~ src/gen/main.c:69:34: warning: format specifies type 'unsigned long long' but the argument has type 'uint8_t *' (aka 'unsigned char *') [-Wformat] fprintf(stderr, "0x016%llx: ", new_what); ~~~~ ^~~~~~~~ %s src/gen/main.c:73:18: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types] if (new_what < (what + len)) { ~~~~~~~~ ^ ~~~~~~~~~~~~ src/gen/main.c:97:52: warning: comparison of distinct pointer types ('uint8_t *' (aka 'unsigned char *') and 'void *') [-Wcompare-distinct-pointer-types] for (uint8_t* new_what = (uint8_t*)what; new_what < (what + len); new_what++) { ~~~~~~~~ ^ ~~~~~~~~~~~~ src/gen/main.c:207:28: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat] fprintf(stderr, "0x%x\n", RTLD_DEFAULT); ~~ ^~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/dlfcn.h:88:22: note: expanded from macro 'RTLD_DEFAULT' #define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ ^~~~~~~~~~~~~ 5 warnings generated. src/gen/stage2.c:230:9: warning: incompatible pointer to integer conversion returning 'void *' from a function with result type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] return dlsym(RTLD_DEFAULT, sym) - get_dyld_shc_slide(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:234:9: warning: incompatible pointer to integer conversion returning 'void *' from a function with result type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] return dlsym(dlopen("/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore", RTLD_LAZY) , sym) - get_dyld_shc_slide(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:285:2: warning: '/*' within block comment [-Wcomment] /* allocate memory for file read later *\/ ^ src/gen/stage2.c:290:2: warning: '/*' within block comment [-Wcomment] /* output malloc string *\/ ^ src/gen/stage2.c:376:26: warning: format specifies type 'unsigned int' but the argument has type 'uintptr_t' (aka 'unsigned long') [-Wformat] fprintf(stderr, "%x\n", get_dyld_shc_slide()); ~~ ^~~~~~~~~~~~~~~~~~~~ %lx src/gen/stage2.c:344:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSContextGroupCreate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:344:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSContextGroupCreate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:351:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSGlobalContextCreateInGroup); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:351:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSGlobalContextCreateInGroup); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:357:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSContextGetGlobalObject); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:357:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSContextGetGlobalObject); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:364:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSStringCreateWithUTF8CString); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:364:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSStringCreateWithUTF8CString); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' */ STR_R0(stack_base + (chain_len * 4) + 720); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' */ STR_R0(stack_base + (chain_len * 4) + 720); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 520); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 520); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 340); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:369:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 340); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:386:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSStringCreateWithUTF8CString); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:386:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID(JSStringCreateWithUTF8CString); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:205:2: note: expanded from macro 'CALL_SLID' STR_R0(stack_base + (chain_len * 4) + 96 + (18 * 4)); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' */ STR_R0(stack_base + (chain_len * 4) + 720); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:217:4: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' */ STR_R0(stack_base + (chain_len * 4) + 720); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 520); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:161:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 520); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 340); \ ^ ~~~~~~~~~ src/gen/stage2.c:42:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ src/gen/stage2.c:393:2: warning: unsequenced modification and access to 'chain_len' [-Wunsequenced] CALL_SLID_4_PTRARG_L2_0(JSEvaluateScript, base + reserve_addr + 0x44, base + reserve_addr + 0x4a); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:218:2: note: expanded from macro 'CALL_SLID_4_PTRARG_L2_0' CALL_4_PTRARG_L2_0(0x12345679, arg1, arg2); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/gen/stage2.c:163:2: note: expanded from macro 'CALL_4_PTRARG_L2_0' STR_R0(stack_base + (chain_len * 4) + 340); \ ^ ~~~~~~~~~ src/gen/stage2.c:47:17: note: expanded from macro 'STR_R0' chain[chain_len++] = where; \ ^ ~~~~~ 27 warnings generated. ld: can't open output file for writing: bin/main_arm, errno=2 for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ldid.cpp(3332): _assert(): errno=2 clang -cc1as: error: unable to open output file 'bin/payload.o': 'No such file or directory' ./build_native.sh: line 31: objcopy: command not found
The text was updated successfully, but these errors were encountered:
Build it on device, ./build_native.sh compiles the untether code for armv7 and will only work on iOS.
./build_native.sh
armv7
Regular ./build.sh is borked and idk why.
./build.sh
Sorry, something went wrong.
would it work to compile on linux debian in raspberry pi? it has arm instruction, run arm64 but that iirc compatible
No branches or pull requests
When trying to build it crashes:
The text was updated successfully, but these errors were encountered: