在很多漏洞利用场景中, shellcode 的内容将会受到限制. 例如你不能输入 \x00 这个字符,编辑框不能输入 \x0d \x0a这样的字符 所以需要完成 shellcode 的逻辑,然后使用编码技术对 shellcode 进行编码,使其内容达到限 制的要求,最后再精心构造十几个字节的解码程序,放在 shellcode 开始执行的地方. 当 exploit 成功时, shellcode 顶端的解码程序首先运行,它会在内存中将真正的 shellcode 还原成原来的样子,然后执行.这种对 s