Merge pull request #1461 from Pixel-Pop/master

Patch DLP client region check
This commit is contained in:
TuxSH 2020-07-27 01:43:59 +01:00 committed by GitHub
commit b15becb37a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -817,6 +817,16 @@ void patchCode(u64 progId, u16 progVer, u8 *code, u32 size, u32 textSize, u32 ro
0x00, 0x00, 0x00, 0x00
};
static const u8 pattern2[] = {
0x20, 0x82, 0xa8, 0x7e, 0x00, 0x28, 0x00, 0xd0, 0x01, 0x20, 0xa0, 0x77
},
pattern3[] = {
0x42
},
patch2[] = {
0xC0, 0x46 // mov r8, r8
};
//Patch DLP region check
if(!patchMemory(code, textSize,
pattern,
@ -824,6 +834,16 @@ void patchCode(u64 progId, u16 progVer, u8 *code, u32 size, u32 textSize, u32 ro
patch,
sizeof(patch), 1
)) goto error;
// Patch DLP client region check
u8 *found = memsearch(code, pattern2, textSize, sizeof(pattern2));
if (!patchMemory(found, textSize,
pattern3,
sizeof(pattern3), 1,
patch2,
sizeof(patch2), 1
)) goto error;
}
else if((progId & ~0xF0000001ULL) == 0x0004013000001A02LL) //DSP, SAFE_FIRM DSP