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

#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:
");
        scanf("%s",password);
        valid_flag = verify_password(password);
        if(valid_flag)
        {
            printf("incorrect password!
");
        }
        else
        {
            printf("Congratulation! You have passed the verification!
");
            break;
        }
    }
    getchar();
}

加载IDA  f12 会显示流程图

可以发现  在jz处判断

修改设置  让IDA显示行前缀

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

爱程序 不爱bug 爱生活 不爱黑眼圈 我和你们一样 我和你们不一样 我不是凡客 我要做geek
原文地址:https://www.cnblogs.com/yifi/p/6273993.html