summaryrefslogtreecommitdiff
path: root/kern_funcs.h
diff options
context:
space:
mode:
authorPwn20wnd <pwn20wndstuff@gmail.com>2019-03-09 23:30:26 +0300
committerSam Bingner <sam@bingner.com>2019-03-20 23:27:12 -1000
commit7bca6ad19e54e2edc4ec9cfa10da20a26e294334 (patch)
tree9805a17e7d5ecdedc2aeb0a0328c6b2df1b26828 /kern_funcs.h
parent4abbd1f554d3f1a185fd7079ee84944f1b0a355b (diff)
Merge pwn's changes to support arm64e via rebase
Diffstat (limited to 'kern_funcs.h')
-rw-r--r--kern_funcs.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/kern_funcs.h b/kern_funcs.h
index 83bb80c..e6633a7 100644
--- a/kern_funcs.h
+++ b/kern_funcs.h
@@ -1,6 +1,32 @@
#ifndef _KERN_FUNCS_H_
#define _KERN_FUNCS_H_
+#define SETOFFSET(offset, val) (offs.offset = val)
+#define GETOFFSET(offset) offs.offset
+
+typedef struct {
+ uint64_t trustcache;
+ uint64_t kernel_task;
+ uint64_t pmap_load_trust_cache;
+ uint64_t paciza_pointer__l2tp_domain_module_start;
+ uint64_t paciza_pointer__l2tp_domain_module_stop;
+ uint64_t l2tp_domain_inited;
+ uint64_t sysctl__net_ppp_l2tp;
+ uint64_t sysctl_unregister_oid;
+ uint64_t mov_x0_x4__br_x5;
+ uint64_t mov_x9_x0__br_x1;
+ uint64_t mov_x10_x3__br_x6;
+ uint64_t kernel_forge_pacia_gadget;
+ uint64_t kernel_forge_pacda_gadget;
+ uint64_t IOUserClient__vtable;
+ uint64_t IORegistryEntry__getRegistryEntryID;
+ uint64_t pmap_loaded_trust_caches;
+} offsets_t;
+
+extern offsets_t offs;
+extern uint64_t kernel_base;
+extern uint64_t kernel_slide;
+
void set_tfp0(mach_port_t port);
void wk32(uint64_t kaddr, uint32_t val);
void wk64(uint64_t kaddr, uint64_t val);
@@ -9,5 +35,7 @@ uint64_t rk64(uint64_t kaddr);
uint64_t kmem_alloc(uint64_t size);
size_t kread(uint64_t where, void *p, size_t size);
size_t kwrite(uint64_t where, const void *p, size_t size);
+uint64_t task_self_addr(void);
+int _pmap_load_trust_cache(uint64_t kernel_trust, size_t length);
#endif // _KERN_FUNCS_H_