shellcode,一段短小精干的代码,放在任何地方都能执行,不依赖当前所处环境,那么就有这么几点要求: 不能有全局变量:函数里的局部变量在栈空间,地址是执行的时候动态分配的:但全局变量在编译时,会由编译器分配好固定的存储空间.编写shellcode的程序肯定会为这个全局变量预留空间,但执行shellcode的目标进程未必会预留,可能已经被其他全局变量占用: 不能有字符串:和上个类似,字符串会被编译器放在文字常量区,地址也是编译时固定写死的,目标进程的同一地址可能已经被占用,导致shellcod