v10 = __readfsqword(0x28u); v7 = 3LL; LODWORD(stat_loc.__uptr) = 0; v6 = 0LL; sub_4009A6(a1, a2, a3); HIDWORD(stat_loc.__iptr) = open("./flag.txt", 0); if ( HIDWORD(stat_loc.__iptr) == -1 ) { perror("./flag.txt"); _exit(-1); } read(SHIDWORD(stat_loc.__iptr), buf, 0x30uLL); //将flag读入buf中 close(SHIDWORD(stat_loc.__iptr)); puts("This is GUESS FLAG CHALLENGE!"); while ( 1 ) { if ( v6 >= v7 ) { puts("you have no sense... bye :-) "); return0LL; } if ( !(unsignedint)sub_400A11() ) break; ++v6; wait((__WAIT_STATUS)&stat_loc); } puts("Please type your guessing flag"); gets(s2); //gets()函数存在栈溢出 if ( !strcmp(buf, s2) ) puts("You must have great six sense!!!! :-o "); else puts("You should take more effort to get six sence, and one more challenge!!"); return0LL; }