-
-
[旧帖]
[求助]软件漏洞分析技术第二章,程序问题求解
0.00雪花
-
发表于:
2014-9-16 19:04
1282
-
[旧帖] [求助]软件漏洞分析技术第二章,程序问题求解
0.00雪花
程序如下
#include<stdio.h>
#include<windows.h>
#define PASSWORD "1234567"
int verify_password(char *password)
{
int authenticated;
char buffer[44];
authenticated=strcmp(password,PASSWORD);
strcpy(buffer,password);
return authenticated;
}
void main()
{
int valid_flag=0;
char password[1024];
FILE *fp;
puts("1111");//就是在结束前,我看到出现了它
LoadLibrary("user32.dll");
puts("2222");//但是我没看到他,其他的我都弄过了,求哪位指点下,是软件问题吗?
if(!(fp=fopen("password.txt","rw+")))
{
exit(0);
}
fscanf(fp,"%s",password);
valid_flag=verify_password(password);
if(valid_flag)
{
printf("incorrect password!\n");
}
else
{
printf("Congratulation! You have passed the verification!\n");
}
fclose(fp);
}
放在OD里面调试,结果发现在LoadLibrary("user32.dll");这步失败了,我在虚拟机里面运行的,求解,好烦。。。(可能开始没说清楚,就是按了F9或者F8 F7 单步调试下去会直接结束程序,然后OLLYDBG 停留在C3 RETN,然后请看下我的注释)
就是C3 RETN
[课程]Android-CTF解题方法汇总!