Exemplo n.º 1
0
void* libsFindExportAddrByName(SceUID uid, const char *library, const char *name)
{
	unsigned int nid;

	nid = libsNameToNid(name);

	return libsFindExportAddrByNid(uid, library, nid);
}
Exemplo n.º 2
0
unsigned int libsFindExportByNid(SceUID uid, const char *library, unsigned int nid)
{
	unsigned int *addr;

	addr = libsFindExportAddrByNid(uid, library, nid);
	if(!addr)
	{
		return 0;
	}

	return *addr;
}
Exemplo n.º 3
0
/* Patch out the exception handler setup call for apps which come after us ;P */
int psplinkPatchException(void)
{
	unsigned int *addr;
	int intc;

	intc = pspSdkDisableInterrupts();
	addr = libsFindExportAddrByNid(refer_module_by_name("sceExceptionManager", NULL), "ExceptionManagerForKernel", 0x565C0B0E);
	if(addr)
	{
		*addr = (unsigned int) RegisterExceptionDummy;
		sceKernelDcacheWritebackInvalidateRange(addr, 4);
		sceKernelIcacheInvalidateRange(addr, 4);
	}
	pspSdkEnableInterrupts(intc);

	return 0;
}