Minor pedantic changes (2)

This commit is contained in:
TuxSH 2016-05-12 13:35:39 +02:00
parent 06cc4f7172
commit 76acfd9934
3 changed files with 10 additions and 10 deletions

View File

@ -296,13 +296,13 @@ static inline void patchNativeFirm(u32 nandType, u32 emuHeader, u32 a9lhMode)
if(nativeFirmType || a9lhMode == 2) patchReboots(process9Offset, process9Size, process9MemAddr); if(nativeFirmType || a9lhMode == 2) patchReboots(process9Offset, process9Size, process9MemAddr);
//Apply signature checks patches //Apply signature checks patches
u32 sigOffset, u16 *sigOffset,
sigOffset2; *sigOffset2;
getSigChecks(process9Offset, process9Size, &sigOffset, &sigOffset2); getSigChecks(process9Offset, process9Size, &sigOffset, &sigOffset2);
*(u16 *)sigOffset = sigPatch[0]; *sigOffset = sigPatch[0];
*(u16 *)sigOffset2 = sigPatch[0]; sigOffset2[0] = sigPatch[0];
*((u16 *)sigOffset2 + 1) = sigPatch[1]; sigOffset2[1] = sigPatch[1];
//Does nothing if svcBackdoor is still there //Does nothing if svcBackdoor is still there
reimplementSvcBackdoor(); reimplementSvcBackdoor();

View File

@ -43,14 +43,14 @@ u8 *getProcess9(u8 *pos, u32 size, u32 *process9Size, u32 *process9MemAddr)
return off - 0x204 + (*(u32 *)(off - 0x64) * 0x200) + 0x200; return off - 0x204 + (*(u32 *)(off - 0x64) * 0x200) + 0x200;
} }
void getSigChecks(u8 *pos, u32 size, u32 *off, u32 *off2) void getSigChecks(u8 *pos, u32 size, u16 **off, u16 **off2)
{ {
//Look for signature checks //Look for signature checks
const u8 pattern[] = {0xC0, 0x1C, 0x76, 0xE7}, const u8 pattern[] = {0xC0, 0x1C, 0x76, 0xE7},
pattern2[] = {0xB5, 0x22, 0x4D, 0x0C}; pattern2[] = {0xB5, 0x22, 0x4D, 0x0C};
*off = (u32)memsearch(pos, pattern, size, 4); *off = (u16 *)memsearch(pos, pattern, size, 4);
*off2 = (u32)memsearch(pos, pattern2, size, 4) - 1; *off2 = (u16 *)(memsearch(pos, pattern2, size, 4) - 1);
} }
void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset) void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset)
@ -61,7 +61,7 @@ void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset)
u8 *off = memsearch(pos, pattern, size, 4) - 0x10; u8 *off = memsearch(pos, pattern, size, 4) - 0x10;
//Firmlaunch function offset - offset in BLX opcode (A4-16 - ARM DDI 0100E) + 1 //Firmlaunch function offset - offset in BLX opcode (A4-16 - ARM DDI 0100E) + 1
*fOpenOffset = (u32)(off + 9 - (-((*(u32 *)off & 0x00FFFFFF) << 2) & 0xFFFFF) - pos + process9MemAddr); *fOpenOffset = (u32)(off + 9 - (-((*(u32 *)off & 0x00FFFFFF) << 2) & (0xFFFFFF << 2)) - pos + process9MemAddr);
return off; return off;
} }

View File

@ -20,7 +20,7 @@ const u8 svcBackdoor[40];
* Functions * Functions
**************************************************/ **************************************************/
u8 *getProcess9(u8 *pos, u32 size, u32 *process9Size, u32 *process9MemAddr); u8 *getProcess9(u8 *pos, u32 size, u32 *process9Size, u32 *process9MemAddr);
void getSigChecks(u8 *pos, u32 size, u32 *off, u32 *off2); void getSigChecks(u8 *pos, u32 size, u16 **off, u16 **off2);
void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset); void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset);
u16 *getFirmWrite(u8 *pos, u32 size); u16 *getFirmWrite(u8 *pos, u32 size);
u16 *getFirmWriteSafe(u8 *pos, u32 size); u16 *getFirmWriteSafe(u8 *pos, u32 size);