diff --git a/lab5/antiasan.c b/lab5/antiasan.c index 8a8936d..121531a 100644 --- a/lab5/antiasan.c +++ b/lab5/antiasan.c @@ -2,5 +2,14 @@ void antiasan(unsigned long addr) { + extern char gS[]; + + unsigned long gS_addr = (unsigned long)gS; + unsigned long shadow_addr = (gS_addr >> 3) + 0x7fff8000; + + unsigned char *shadow = (unsigned char *)shadow_addr; + for (int i = 0; i < 5; i++) { + shadow[i] = 0; + } }