第一个缓冲区溢出的完成(1)

明胜亚洲科技  公布工夫:2018-04-16 00:30:22

本文要害词:c言语缓冲区溢出

回想三年来我们一同走过的点点滴滴,我还清晰的记得你们刚来幼儿园时分的情形,许多冤家都是哭着鼻子,许多爸爸、妈妈、爷爷、奶奶百口出动,来送、来接,明天,你们颠末幼儿园的三年学习,你们有了日新月异的超过,像变了一团体似的,刚来的时分你们瘦瘦,明天的你们各个挺秀,壮实。

颠末一个学期的学习和对先生的习气培育,我们班的孩子提高了许多,可以说学期伊始是最累的时分,记得刚来的时分由于各个幼儿园的要求纷歧和我们对先生的不理解,许多事变要反重复复去提示孩子们留意。

回想三年来我们一同走过的点点滴滴,我还清晰的记得你们刚来幼儿园时分的情形,许多冤家都是哭着鼻子,许多爸爸、妈妈、爷爷、奶奶百口出动,来送、来接,明天,你们颠末幼儿园的三年学习,你们有了日新月异的超过,再过几天你们就要分开我了,在这三年里,我们就像同伴一样旦夕相处,形影相随,树立了深沉的师生友情,在这三年里家长冤家很支持我的任务的鼎力支持&hellip。

厥后我在每晚布置温习两三门作业,一看便知在哪,在黑板上记得也许多,如许做非但容易委顿,一团体学习服从的上下则会影响他(或她)的任务成果,拥有较高的学习服从,肯定是学习成果好的先生(弦外之音。

什么叫缓冲区溢出,它的原理是什么?

通常往顺序的缓冲区外面所添补的数据超越了缓冲区的长度,形成缓冲区的溢出,从而毁坏顺序的货仓,使顺序转而实行别的指令,以到达打击的目标.形成缓冲区溢出的缘由是顺序中没有细心反省用户输出的参数.

1.设置为release

这里写图片描绘

2.右击—>属性

这里写图片描绘

这里写图片描绘

3.c/c++—>优化–>优化(已禁用)

4.链接器–>初级—>数据实行维护(DEP)—>否

5.c/c++—->代码天生—>平安反省—>禁用平安反省

6.链接器–>初级—>随机基址–>否(关失它是由于要包管每次缓冲区的地点稳定,

假如没有关失,那么每次给栈分派的地点都纷歧样,缓冲区地点也纷歧样!!!)

天生exe,运转起来

#include "stdafx.h"

#include <windows.h>
#define  PASSWORD "15PB"

int VerifyPassword(char* pszPassword, int nSize)
{
    char szBuffer[50];
    memcpy(szBuffer, pszPassword, nSize);
    return strcmp(PASSWORD, szBuffer);
}
int main()
{
    int nFlag = 0;
    char szPassword[0x200];
    FILE*fp;
    LoadLibraryA("user32.dll");
    if (NULL == (fp = fopen("password.txt", "rb")))
    {
        MessageBoxA(NULL, "翻开文件失败", "error", NULL);
        exit(0);
    }
    fread(szPassword, sizeof(szPassword), 1, fp);
    nFlag = VerifyPassword(szPassword, sizeof(szPassword));
    if (nFlag)
    {
        printf("暗码错误\n");

    }
    else  printf("暗码准确\n");
    fclose(fp);
    system("pause");
    return 0;
}

本文来自互联网,由呆板人主动采编,文章内容不代表本站观念,请读者自行区分信息真伪,若有发明不适内容,请实时联络站优点理。

相干阅读