From 90d1fc066554c3dc988585f1fdd53b36c4ab8715 Mon Sep 17 00:00:00 2001 From: yungen-lu <70182238+yungen-lu@users.noreply.github.com> Date: Sun, 27 Apr 2025 17:32:43 +0800 Subject: [PATCH] feat: finish lab5 --- lab5/antiasan.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lab5/antiasan.c b/lab5/antiasan.c index 8a8936d..61e4a70 100644 --- a/lab5/antiasan.c +++ b/lab5/antiasan.c @@ -2,5 +2,11 @@ void antiasan(unsigned long addr) { - + // Calculate shadow memory address for gS (after gBadBuf) + unsigned long shadow_addr = ((addr + 0x87) >> 3) + 0x7fff8000; + + // Mark 16 bytes of shadow memory as valid (covers gS[0x17] to gS[0x27]) + for (int i = 0; i < 16; i++) { + *(char *)(shadow_addr + i) = 0; + } }