如下链接是shellcode编写的基础,仅供参考
http://blog.chinaunix.NET/uid-24917554-id-3506660.html
缓冲区溢出的shellcode很多了,这里重现下缓冲区溢出。
[cpp] view plain copy
int fun(char *shellcode)
{
char str[4]=""//这里定义4个字节
strcpy(str,shellcode)//这两个shellcode如果超过4个字节,就会导致缓冲区溢出
printf("%s",str)
return 1
}
shellcode,实际上是十六进制形式的机器语言,大家知道机器语言是二进制的,CPU只认识二进制,因为要被直接注入到内存中,没办法编译了,所以希望CPU可以执行,那就只能用机器代码了,一般用汇编语言写出程序,在从目标代码中提取出。十六进制和二进制是和容易转换的欢迎分享,转载请注明来源:内存溢出
评论列表(0条)