static void finalize_module(void) { uint64_t meminfo[5]; sys_prx_id_t prx = prx_get_module_id_by_address(finalize_module); meminfo[0] = 0x28; meminfo[1] = 2; meminfo[3] = 0; system_call_3(482, prx, 0, (uint64_t)(uint32_t)meminfo); }
int prx_get_module_name_by_address(process_t process, void *addr, char *name) { sys_prx_module_info_t modinfo; sys_prx_id_t id = prx_get_module_id_by_address(process, addr); if (id < 0) return id; memset(&modinfo, 0, sizeof(modinfo)); int ret = prx_get_module_info(process, id, &modinfo, NULL, NULL); if (ret < 0) return ret; strncpy(name, modinfo.name, 30); return 0; }