漏洞挖掘 修改程序验证流程

#include <stdio.h>
#define PASSWORD "1234567"
int verify_password (char *password)
{
    int authenticated;
    authenticated=strcmp(password,PASSWORD);
    return authenticated;
}

main()
{
    int valid_flag=0;
    char password[1024];
    while(1)
    {
        printf("please input password:\r\n");
        scanf("%s",password);
        valid_flag = verify_password(password);
        if(valid_flag)
        {
            printf("incorrect password!\r\n");
        }
        else
        {
            printf("Congratulation! You have passed the verification!\r\n");
            break;
        }
    }
    getchar();
}

 

 

 

加载IDA  f12 会显示流程图

可以发现  在jz处判断

 

 

修改设置  让IDA显示行前缀

 

复制jz地址  0040106E   在xDbg中找到je的位置 修改为jne

 

 

posted on 2017-01-11 15:52  yifi  阅读(387)  评论(0编辑  收藏  举报

导航