crackme1

Déjà vu, I've just been in this place before. Higher on the street and I know it's my time to go! Files available here Author: @scuffed

Firstly, I decided to decompile the given binary and saw 2 main things of interest.

void *_dso_handle = &_dso_handle; // idb
char dejavu[52] = "This challenge feels pretty familiar... doesn't it?"; // idb
int spinit[13] = { 5, 41, 21, 26, 41, 15, 24, 1, 10, 21, 7, 3, 24 }; // idb
char _bss_start; // weak
_UNKNOWN end; // weak

and

v6 = __readfsqword(0x28u);
  printf("%s\n\nGive me your input: ", dejavu);
  __isoc99_scanf("%s", input);
  for ( i = 0; i <= 12; ++i )
  {
    if ( input[i] != dejavu[spinit[i]] )
    {
      puts("Nice try!!");
      return -1;
    }
  }
  printf("\nYou got it! Your flag is blahaj{%s}\n", input);
  return 0;
}

Thus, I created a python script to reverse the given function and obtain the flag

We obtain The flag is: copyofthepast

Thus, by running the binary and putting in the text we obtained, "copyofthepast"

Thus the flag is blahaj{copyofthepast}

Last updated