v0rtex.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #import "common.h"
  2. #include <mach/mach.h>
  3. #include <stdint.h>
  4. typedef struct
  5. {
  6. const char *version;
  7. kptr_t base;
  8. // Structure offsets
  9. kptr_t sizeof_task;
  10. kptr_t task_itk_self;
  11. kptr_t task_itk_registered;
  12. kptr_t task_bsd_info;
  13. kptr_t proc_ucred;
  14. kptr_t vm_map_hdr;
  15. kptr_t ipc_space_is_task;
  16. kptr_t realhost_special;
  17. kptr_t iouserclient_ipc;
  18. kptr_t vtab_get_retain_count;
  19. kptr_t vtab_get_external_trap_for_index;
  20. // Data
  21. kptr_t zone_map;
  22. kptr_t kernel_map;
  23. kptr_t kernel_task;
  24. kptr_t realhost;
  25. // Code
  26. kptr_t copyin;
  27. kptr_t copyout;
  28. kptr_t chgproccnt;
  29. kptr_t kauth_cred_ref;
  30. kptr_t ipc_port_alloc_special;
  31. kptr_t ipc_kobject_set;
  32. kptr_t ipc_port_make_send;
  33. kptr_t osserializer_serialize;
  34. kptr_t rop_ldr_x0_x0_0x10;
  35. // Remount
  36. kptr_t root_vnode;
  37. // AMFID stuff
  38. kptr_t vfs_context_current;
  39. kptr_t vnode_getfromfd;
  40. kptr_t vnode_getattr;
  41. kptr_t csblob_ent_dict_set;
  42. kptr_t sha1_init;
  43. kptr_t sha1_update;
  44. kptr_t sha1_final;
  45. } offsets_t;
  46. typedef kern_return_t (*v0rtex_cb_t)(task_t tfp0, kptr_t kbase, void *cb_data);
  47. kern_return_t v0rtex(offsets_t *off, v0rtex_cb_t callback, void *cb_data);