diff options
Diffstat (limited to 'tools/thread_shit.c')
| -rw-r--r-- | tools/thread_shit.c | 7 |
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 |
