Path: blob/master/external/source/exploits/CVE-2016-4655/arch.h
19778 views
/*1* arch.h - Code to deal with different architectures.2* Taken from kern-utils3*4* Copyright (c) 2014 Samuel Groß5* Copyright (c) 2016-2017 Siguza6*/78#ifndef ARCH_H9#define ARCH_H1011#include <mach-o/loader.h> // mach_header, mach_header_64, segment_command, segment_command_6412#include <Foundation/Foundation.h> // NSLog1314#define IMAGE_OFFSET 0x200015#define MACH_TYPE CPU_TYPE_ARM6416#define ADDR "%016lx"17#define SIZE "%lu"18#define MACH_HEADER_MAGIC MH_MAGIC_6419#define MACH_LC_SEGMENT LC_SEGMENT_6420#define MACH_LC_SEGMENT_NAME "LC_SEGMENT_64"21#define KERNEL_SPACE 0x800000000000000022typedef struct mach_header_64 mach_hdr_t;23typedef struct segment_command_64 mach_seg_t;24typedef struct section_64 mach_sec_t;25typedef struct load_command mach_lc_t;2627#define LOG(str, args...) \28do \29{ \30NSLog(@"" str "\n", ##args); \31} while(0)3233#endif343536