summaryrefslogtreecommitdiff
path: root/src/stage2.h
diff options
context:
space:
mode:
authorspv <aquaticvegetable@gmail.com>2022-04-20 14:10:27 -0400
committerspv <aquaticvegetable@gmail.com>2022-04-20 14:10:27 -0400
commit7caa231e0b0fa607080586725fbbc9628a1cc031 (patch)
treee22a643aefbc73c703b90f2454c0f75374696399 /src/stage2.h
hello and welcome back to hell
Diffstat (limited to 'src/stage2.h')
-rw-r--r--src/stage2.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/stage2.h b/src/stage2.h
new file mode 100644
index 0000000..0c7b62b
--- /dev/null
+++ b/src/stage2.h
@@ -0,0 +1,40 @@
+#ifndef SHITTY_ROP_H
+#define SHITTY_ROP_H
+
+#include <stdint.h>
+
+struct rop_chain_shit_t {
+ uint32_t* teh_chain;
+ uint32_t chain_len;
+};
+
+typedef struct rop_chain_shit_t* rop_chain_shit;
+
+#define GARBAGE 0x6A9BA6E
+//#define UNUSED 0xEEEEEEEE
+#define UNUSED 0x40000000 | (0x100000 + (__LINE__))
+
+rop_chain_shit gen_rop_chain(uint32_t base,
+ uint32_t default_domain_addr,
+ uint32_t mov_r0,
+ uint32_t puts_addr,
+ uint32_t blx_r5,
+ uint32_t nulls_addr,
+ uint32_t malloc_addr,
+ uint32_t mov_r1_r0,
+ uint32_t nop,
+ uint32_t malloc_status_addr,
+ uint32_t printf_addr,
+ uint32_t exit_addr,
+ uint32_t str_r0_r4,
+ uint32_t reserve_addr,
+ uint32_t ldr_r0_r0,
+ uint32_t add_r0_r1,
+ uint32_t stack_base,
+ uint32_t dyld_shc_base_status,
+ uint32_t scprefcreate_dsc_offset,
+ uint32_t scprefcreate_lazy_offset,
+ uint32_t weird_r3,
+ uint32_t other_weird_r3);
+
+#endif \ No newline at end of file