摘要:
int *p = NULL 和*p = NULL 有什么区别? 很多初学者都无法分清这两者之间的区别。我们先看下面的代码: int *p = NULL; 这时候我们可以通过编译器查看p 的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0x00000000,而不是把*p 的值设置为0x00000000。这个过程叫做初始化,是在编译的时候进行的。明白了什么是初始化之后,再看下面的代码: int *p; *p = NULL; 同样,我们可以在编译器上调试这两行代码。第一行代码,定义了一个指针变... 阅读全文
摘要:
转载自http://blog.csdn.net/dajuan1989/article/details/7307671文章:Run-time Detection of Heap-based Overflows作者:William Robertson, Christopher Kruegel, Darren Mutz, and Fredrik Valeur(University of California, Santa Barbara)声明:自己的理解不一定很透彻,对于自己就当笔记,不是逐字句翻译的。仅供大家参考,若有错误或不当之处欢迎批评指正!摘要:缓冲区溢出是如今网络上最常见的攻击类型之一。虽 阅读全文
摘要:
对ruby不熟str = [0x77d80787,0x77403680,0x77402680]puts str.pack('V').unpack('H*') 阅读全文