Beispiel #1
0
void *get_builtin_lib_handle(const char *libname)
{
    size_t i;

    if (libname == NULL)
        return NULL;

    if (strcmp(libname, "libGLESv1_CM.so") == 0) {
#ifdef APKENV_GLES
        if (!global.loader_seen_glesv1)
            register_hooks(hooks_gles1, HOOKS_GLES1_COUNT);
#endif
        global.loader_seen_glesv1 = 1;
    }
    else if (strcmp(libname, "libGLESv2.so") == 0) {
#ifdef APKENV_GLES2
        if (!global.loader_seen_glesv2)
            register_hooks(hooks_gles2, HOOKS_GLES2_COUNT);
#endif
        global.loader_seen_glesv2 = 1;
    }

    for (i = 0; i < sizeof(builtin_libs) / sizeof(builtin_libs[0]); i++)
        if (strcmp(libname, builtin_libs[i]) == 0)
            return &builtin_libs[i];

    return NULL;
}
Beispiel #2
0
static void createproc_callback(VMI_Callback_Params* params)
{
    if(targetcr3 != 0) //if we have found the process, return immediately
    	return;

	if (strcasecmp(targetname, params->cp.name) == 0) {
		targetpid = params->cp.pid;
		targetcr3 = params->cp.cr3;
		register_hooks();
		DECAF_printf("Process found: pid=%d, cr3=%08x\n", targetpid, targetcr3);
	}
}
/**
 * The function that initialize the module.
 */
static int __init start_module(void) {
  printk(KERN_INFO "Amir's firewall is being loaded!\n");
  if (register_hooks() < 0) {
    printk(KERN_INFO "ERROR: Failed to register hooks\n");
    return -1;
  }
  if (register_drivers() < 0) {
    dismiss_hooks();
    printk(KERN_INFO "ERROR: Failed to register drivers\n");
    return -1;
  }
  return 0;  // if non-0 return, then init_module have failed.
}
Beispiel #4
0
/* initializes all hooks & input handlers */
void init_input_handler()
{	
    register_hooks();
    register_raw_input_handler();
}