解题:
下载文件,是一个压缩包,发现里面有两个文件,都是无壳,一个是32位,一个是64位,其实打开一个就是,我就是想看看有没有什么不一样的,其实都是一样的,进入ida中,找到main函数反编译,你获得伪代码。
int __cdecl main(int argc, const char **argv, const char **envp)
{
char s; // [esp+1Ch] [ebp-10Ch]
unsigned int v5; // [esp+11Ch] [ebp-Ch]
v5 = __readgsdword(0x14u);
puts("What is the password?");
gets(&s);
if ( !strcmp(&s, "the password") )
puts("FLAG:db2f62a36a018bce28e46d976e3f9864");// undefined
else
puts("Wrong!!");
return 0;
}
之后你会发现,让你输入一个密码,之后给s变量,s变量去比对the password,之后输出什么,下面有一个flag,那么咱们直接用flag{}进行包含进去,最后获得flag就是flag{db2f62a36a018bce28e46d976e3f9864}。