漏洞挖掘 修改程序验证流程
#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
爱程序 不爱bug
爱生活 不爱黑眼圈
我和你们一样 我和你们不一样
我不是凡客 我要做geek