ipwn
떤 CTF인지는 잘 모르겠고 친구가 못풀겠다고 해서 한 번 풀어봤다.(etc로 카테고리를 넘긴 건 그냥 뭔 ctf인지 몰라서이다.) 이번 문제는 greeting문제였는데, 그냥 fsb 문제였던 것 같다? 아마도 일단 바로 분석해보겠다. int __cdecl main(int argc, const char **argv, const char **envp){ char s; // [esp+1Ch] [ebp-84h] char v5; // [esp+5Ch] [ebp-44h] unsigned int v6; // [esp+9Ch] [ebp-4h] v6 = __readgsdword(0x14u); printf("Please tell me your name... "); if ( !getnline(&v5, 0x40) ) ret..
흠 지금 생각해보니 디미고 신입생 대상으로 한 CTF인데 10위권 안에 못들다니 ㅜㅜ 위에 사람들이 전부 외부인이라지만 못 풀만한 수준의 문제들이 있다는 것 자체가 내 수준이 심각하다는 걸 의미할 것 같다. 그래 암튼 라업이나 쓰자. 이 문제도 생각보다 쉽게 풀렸다. int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // eax start_init(); while ( 1 ) { while ( 1 ) { menu(*(_QWORD *)&argc); v3 = scan_int(); if ( v3 != 2 ) break; Free(*(_QWORD *)&argc); } if ( v3 > 2 ) { if ( v3 =..
int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 2, 0); while ( 1 ) { puts("welcome to the Coder world!\n"); puts("1.fight"); puts("2.shop"); puts("3.trainning"); puts("4.exit"); __isoc99_scanf("%d", &cho); switch ( cho ) { case 1: fight(); break; case 2: shop(); break; case 3: trainning(); break; default: puts("defalt input..