diff options
Diffstat (limited to 'src/l4d1democompat.c')
| -rw-r--r-- | src/l4d1democompat.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/l4d1democompat.c b/src/l4d1democompat.c index a6d418f..735215c 100644 --- a/src/l4d1democompat.c +++ b/src/l4d1democompat.c @@ -127,8 +127,9 @@ static inline ReadDemoHeader_func find_ReadDemoHeader(const uchar *insns) { static inline void *find_midpoint(ReadDemoHeader_func ReadDemoHeader) { uchar *insns = (uchar *)ReadDemoHeader; for (uchar *p = insns; p - insns < 128;) { + const u64 HL2DEMO = 0x4F4D4544324C48; // "HL2DEMO\0" ascii, little-endian if (p[0] == X86_PUSHIW && p[5] == X86_PUSHEBX && p[6] == X86_CALL && - !memcmp(mem_loadptr(p + 1), "HL2DEMO", 7)) { + !mem_loadu64(mem_loadptr(p + 1)) == HL2DEMO) { return p + 11; } NEXT_INSN(p, "ReadDemoHeader hook midpoint"); |
