1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| __int64 __fastcall main(__int64 a1, char **a2, char **a3) { int i; int fd; FILE *stream; char filename[9]; char s[16]; char v9[72]; unsigned __int64 v10;
v10 = __readfsqword(0x28u); sub_401336(); strcpy(filename, "/flag"); stream = fopen(filename, "r"); dword_40430C = 1; while ( 1 ) { while ( 1 ) { puts("welcome to flag market!\ngive me money to buy my flag,\nchoice: \n1.take my money\n2.exit"); memset(s, 0, sizeof(s)); read(0, s, 0x10uLL); if ( (unsigned __int8)atoi(s) != 1 ) exit(0); puts("how much you want to pay?"); memset(s, 0, sizeof(s)); read(0, s, 0x10uLL); if ( (unsigned __int8)atoi(s) == 0xFF ) break; printf("You are so parsimonious!!!"); if ( dword_40430C ) { fclose(stream); dword_40430C = 0; } } puts(aThankYouForPay); if ( !dword_40430C || !fgets(v9, 0x40, stream) ) break; for ( i = 0; ; ++i ) { if ( i > 0x40 ) { puts("\nThank you for your patronage!"); return 0LL; } if ( v9[i] == '{' ) break; putchar(v9[i]); sleep(1u); } memset(v9, 0, 0x40uLL); puts(a1m31mError0mSo); puts("opened user.log, please report:"); memset(oflag, 0, 0x100uLL); __isoc99_scanf("%s", oflag); getchar(); fd = open("user.log", (int)oflag); write(fd, oflag, 0x100uLL); puts(aOkNowYouCanExi); } puts("something is wrong"); return 0LL; }
|