hyperpom 0.1.2

AArch64 fuzzing library based on the Apple Silicon hypervisor
Documentation
void func0(void* input_addr);
void func1(void* input_addr);
void func2(void* input_addr);
void func3(void* input_addr);
void func4();

int main(void) {
    void* input_addr = 0x20000;
    func0(input_addr);
}

void func0(void* input_addr) {
    if (*(char *)(input_addr) == 'l') {
        func1(input_addr);
    }
}

void func1(void* input_addr) {
    if (*(char *)(input_addr + 1) == 'y') {
        func2(input_addr);
    }
}

void func2(void* input_addr) {
    if (*(char *)(input_addr + 2) == 't') {
        func3(input_addr);
    }
}

void func3(void* input_addr) {
    if (*(char *)(input_addr + 3) == 'e') {
        func4();
    }
}

void func4() {
    *(unsigned int*)0xdeadbeef = 0xcafec0c0;
}