int _tmain(int argc, _TCHAR* argv[])
{
UINT *ptr = (UINT*) ((((UINT)&ptr) & 0x00FF0000) | 0xfe0c);
if (*ptr) printf("higher than XP\n"); // It's really amazing!!!!
else printf("XP\n");
return 0;
}
我在下面的文章中发现了这个技巧:
http://spareclockcycles.org/2012/02/14/stack-necromancy-defeating-debuggers-by-raising-the-dead/
但我无法弄清楚这个技巧背后的常识和惯例。感谢您的任何评论。