summaryrefslogtreecommitdiff
path: root/tools/thread_shit.c
diff options
context:
space:
mode:
authorspv420 <unomilliono@gmail.com>2022-04-24 04:09:22 -0400
committerspv420 <unomilliono@gmail.com>2022-04-24 04:09:22 -0400
commit36dd71290d6a4b7757adb9bbe59f876ada4cc6b8 (patch)
tree89e08bc0a0943c0918ef32d02257280d393195f7 /tools/thread_shit.c
parent0038c26fbc61b00fb06dc807a0c322783fd7bf32 (diff)
lol
Diffstat (limited to 'tools/thread_shit.c')
-rw-r--r--tools/thread_shit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/thread_shit.c b/tools/thread_shit.c
index 3020ea8..1ed9921 100644
--- a/tools/thread_shit.c
+++ b/tools/thread_shit.c
@@ -56,20 +56,21 @@ int main(int argc, char* argv[]) {
fprintf(stderr, "r%d=%x\n", i, state.__r[i]);
}
+ *(uint32_t*)(0x346afc48 + 0x1b4c000) = 0x23d751fc + 0x1b4c000;
+
state.__r[0] = test;
state.__r[1] = 0x1337;
state.__r[2] = 0x420;
state.__r[3] = 0x69;
state.__sp = (uint32_t)stack_above;
+ state.__lr = 0x23d751fc + 0x1b4c000;
state.__pc = ((uint32_t)dlsym(RTLD_DEFAULT, "printf")) | 1;
state.__cpsr = 0x40000020;
kr = thread_set_state(th, ARM_THREAD_STATE, (thread_state_t)&state, ARM_THREAD_STATE_COUNT);
kr = thread_resume(th);
// thread_call_enter((thread_call_func_t)&lol);
- while (1) {
- ;;
- }
+ sleep(1);
return 0;
} \ No newline at end of file