property 本身是一个内置函数,一般用作装饰器(@property),使得我们使用类方法时可以像使用类属性一样简单。如对于下边一个简单的例子,
1 | class Person(object): |
我们可以这样使用类方法:
1 | p = Person(20) |
property 本身是一个内置函数,一般用作装饰器(@property),使得我们使用类方法时可以像使用类属性一样简单。如对于下边一个简单的例子,
1 | class Person(object): |
我们可以这样使用类方法:
1 | p = Person(20) |
最近在学习 Python,为以后工作做好准备;又恰好个人对黑客技术很好奇,就想在学习 Python 同时也学习下黑客技术,于是就有了这篇文章。由于是第一次学习黑客技术,好多好多都不懂,但也到处是金矿,等待我去挖取。
缓冲区溢出可分为栈溢出和堆溢出。平常我们所讲的以及本文所提到的缓冲区溢出特指的是栈溢出
。
注:本文缓冲区溢出攻击介绍部分摘录自博文缓冲区溢出攻击。
关于缓冲区溢出攻击,博文缓冲区溢出攻击有一个很详细明了的阐述;另外也考虑到自己不一定能比该博文作者写的更好,所以关于缓冲区溢出介绍及攻击部分直接摘录自该博文,但会尽量保持原文排版风格。
缓冲区溢出(Buffer Overflow)是计算机安全领域内既经典而又古老的话题。随着计算机系统安全性的加强,传统的缓冲区溢出攻击方式可能变得不再奏效,相应的介绍缓冲区溢出原理的资料也变得“大众化”起来。其中看雪的《 0day 安全:软件漏洞分析技术》一书将缓冲区溢出攻击的原理阐述得简洁明了。本文参考该书对缓冲区溢出原理的讲解,并结合实际的代码实例进行验证。不过即便如此,完成一个简单的溢出代码也需要解决很多书中无法涉及的问题,尤其是面对较新的具有安全特性的编译器——比如 MS 的 Visual Studio2010。接下来,我们结合具体代码,按照对缓冲区溢出原理的循序渐进地理解方式去挖掘缓冲区溢出背后的底层机制。
more >>本文迁移自博客园。
不同于C语言中的 malloc/free 是库函数,C++ 语言中的 new/delete 是运算符,不是库函数。
我们经常会接触到的是 new/delete operator(就是 new/delete 运算符)。其中 new operator 背后会调用 operator new 和 placement new 函数,而 delete operator 背后会调用 operator delete 函数。
对于 new operator
而言,它的执行流程为:
1)通过 operator new 函数申请内存
2)使用 placement new 函数调用构造函数(简单类型如 int,可忽略此步)
3)返回内存指针
而对于 delete operator
而言,它的执行流程为:
1)调用析构函数(简单类型忽略此步)
2)通过 operator delete 函数释放内存
本文迁移自博客园。
NULL、’\0’ 和 0 的值是一样的,都是 0,不过它们的表现形式不一样。
NULL 即空指针,不过在 C 和 C++ 中并不一样。在 VS 2013 的库文件 string.h 中可以看到如下定义:
1 | /* Define NULL pointer value */ |
可以看出,在 C 中,NULL 表示的是指向地址为 0 的指针,而在 C++ 中,NULL 就直接跟 0 一样了。
但有一点值得注意的是:在 C 语言中,“当常量 0 处于应该作为指针使用的上下文中时,它就作为空指针使用”(《征服 C 指针》)
。例如,下边的指针定义和初始化是没问题的(即没警告也没报错):
1 | int * p = 0; /* C language */ |
本文迁移自博客园。以后也会陆陆续续把在博客园的一些文章迁移过来。
根据维基百科定义,质数(Prime number),又称素数,指在大于 1 的自然数中,除了 1 和自身外,无法被其他自然数整除的数(也可定义为只有 1 和本身两个因数的数)。比 1 大但不是素数的数称为合数。1 和 0 既非素数也非合数。质数在公钥加密算法(如RSA)中有重要的地位。
下边将会介绍几种较为常见的判断质/素数的方法。
法一是按照质数的定义来考虑的,具体程序见下:
1 | //*********************************** method 1 ***********************************// |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true