Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. struct rfork_args {
  2. int flags;
  3. };
  4.  
  5. struct execve_args {
  6. char* path:
  7. char* argv;
  8. char* envp;
  9. };
  10.  
  11. int (*sys_rfork)(struct thread* td, struct rfork_args* uap) = get_syscall_function();
  12. int (*sys_execve)(struct thread* td, struct execve_args* uap) = get_syscall_function();
  13.  
  14. sys_jailbreak(curthread());
  15. struct proc* mini_syscore = proc_find_by_pid(1);
  16. struct thread* mini_syscore_td = TAILQ_FIRST(mini_syscore->p_threads);
  17.  
  18. struct rfork_args rarg;
  19. rarg.flags = 0x1030;
  20. sys_rfork(mini_syscore_td, &rarg);
  21.  
  22. struct proc* child = proc_find_by_pid(mini_syscore_td->td_retval[0]);
  23. if (child) {
  24. struct thread* child_td = TAILQ_FIRST(child->p_threads);
  25.  
  26. char path[50] = "/sys
  27. struct execve_args execarg;
  28. execarg.path = path;
  29. execarg.argv = NULL;
  30. execarg.envp = NULL;
  31.  
  32. sys_execve(child_td, execarg);
  33. }
  34.  
  35. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement