2015-08-04 21:57:37 -04:00
|
|
|
/*
|
|
|
|
|
* patches.h
|
|
|
|
|
*/
|
2016-03-06 03:41:07 +01:00
|
|
|
|
2016-03-11 15:08:05 +01:00
|
|
|
#pragma once
|
2015-08-04 21:57:37 -04:00
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
2015-08-21 14:11:23 -04:00
|
|
|
/**************************************************
|
|
|
|
|
* Patches
|
|
|
|
|
**************************************************/
|
2016-03-26 17:24:16 +01:00
|
|
|
const u32 mpuPatch[3];
|
2016-04-26 20:06:31 +02:00
|
|
|
const u16 nandRedir[2],
|
|
|
|
|
sigPatch[2],
|
2016-05-03 01:17:22 +02:00
|
|
|
writeBlock[2],
|
|
|
|
|
writeBlockSafe[2];
|
2016-05-12 02:59:21 +02:00
|
|
|
const u8 svcBackdoor[40];
|
2015-08-21 14:11:23 -04:00
|
|
|
|
|
|
|
|
/**************************************************
|
|
|
|
|
* Functions
|
|
|
|
|
**************************************************/
|
2016-05-11 19:28:28 +02:00
|
|
|
u8 *getProcess9(u8 *pos, u32 size, u32 *process9Size, u32 *process9MemAddr);
|
2016-05-12 13:35:39 +02:00
|
|
|
void getSigChecks(u8 *pos, u32 size, u16 **off, u16 **off2);
|
2016-05-11 19:28:28 +02:00
|
|
|
void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset);
|
2016-03-29 17:43:53 +02:00
|
|
|
u16 *getFirmWrite(u8 *pos, u32 size);
|
2016-05-03 01:17:22 +02:00
|
|
|
u16 *getFirmWriteSafe(u8 *pos, u32 size);
|
2016-05-10 23:06:32 +02:00
|
|
|
u32 getLoader(u8 *pos, u32 *loaderSize);
|
2016-05-12 12:24:14 +02:00
|
|
|
u32 *getSvcAndExceptions(u8 *pos, u32 size, u32 **exceptionsPage);
|