Minor pedantic changes
This commit is contained in:
parent
158659e5b0
commit
06cc4f7172
@ -369,7 +369,7 @@ static inline void reimplementSvcBackdoor(void)
|
||||
{
|
||||
u8 *arm11Section1 = (u8 *)firm + section[1].offset;
|
||||
|
||||
u32 exceptionsPage;
|
||||
u32 *exceptionsPage;
|
||||
|
||||
u32 *svcTable = getSvcAndExceptions(arm11Section1, section[1].size, &exceptionsPage);
|
||||
|
||||
@ -377,11 +377,11 @@ static inline void reimplementSvcBackdoor(void)
|
||||
{
|
||||
u32 *freeSpace;
|
||||
|
||||
for(freeSpace = (u32 *)exceptionsPage; *freeSpace != 0xFFFFFFFF; freeSpace++);
|
||||
for(freeSpace = exceptionsPage; *freeSpace != 0xFFFFFFFF; freeSpace++);
|
||||
|
||||
memcpy(freeSpace, svcBackdoor, 40);
|
||||
|
||||
svcTable[0x7B] = 0xFFFF0000 + (u32)((u8 *)freeSpace - exceptionsPage);
|
||||
svcTable[0x7B] = 0xFFFF0000 + (u32)((u8 *)freeSpace - (u8 *)exceptionsPage);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -100,13 +100,13 @@ u32 getLoader(u8 *pos, u32 *loaderSize)
|
||||
return (u32)(off - pos);
|
||||
}
|
||||
|
||||
u32 *getSvcAndExceptions(u8 *pos, u32 size, u32 *exceptionsPage)
|
||||
u32 *getSvcAndExceptions(u8 *pos, u32 size, u32 **exceptionsPage)
|
||||
{
|
||||
const u8 pattern[] = {0x00, 0xB0, 0x9C, 0xE5};
|
||||
const u8 pattern[] = {0x00, 0xB0, 0x9C, 0xE5}; //cpsid aif
|
||||
|
||||
*exceptionsPage = (u32)memsearch(pos, pattern, size, 4) - 0x2C;
|
||||
*exceptionsPage = (u32 *)(memsearch(pos, pattern, size, 4) - 0x2C);
|
||||
|
||||
u32 svcOffset = (-((*(u32 *)(*exceptionsPage + 8) & 0xFFFFFF) << 2) & 0xFFFFF) - 8; //Branch offset + 8 for prefetch
|
||||
u32 svcOffset = (-(((*exceptionsPage)[2] & 0xFFFFFF) << 2) & (0xFFFFFF << 2)) - 8; //Branch offset + 8 for prefetch
|
||||
u32 *svcTable = (u32 *)(pos + *(u32 *)(pos + 0xFFFF0008 - svcOffset - 0xFFF00000 + 8) - 0xFFF00000); //SVC handler address
|
||||
while(*svcTable) svcTable++; //Look for SVC0 (NULL)
|
||||
|
||||
|
@ -25,4 +25,4 @@ void *getReboot(u8 *pos, u32 size, u32 process9MemAddr, u32 *fOpenOffset);
|
||||
u16 *getFirmWrite(u8 *pos, u32 size);
|
||||
u16 *getFirmWriteSafe(u8 *pos, u32 size);
|
||||
u32 getLoader(u8 *pos, u32 *loaderSize);
|
||||
u32 *getSvcAndExceptions(u8 *pos, u32 size, u32 *exceptionsPage);
|
||||
u32 *getSvcAndExceptions(u8 *pos, u32 size, u32 **exceptionsPage);
|
Reference in New Issue
Block a user