편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.11.22

    디컴파일링 중에 질문있습니다.


    int __cdecl main(int argc, const char **argv, const char **envp)
    {
      __int64 v3; // r8
      _QWORD v5[31]; // [rsp-60h] [rbp-218h] BYREF
      int v6; // [rsp+98h] [rbp-120h]
      __int16 v7; // [rsp+9Ch] [rbp-11Ch]
      char v8; // [rsp+9Eh] [rbp-11Ah]
      char v9[280]; // [rsp+A0h] [rbp-118h] BYREF
    
      _fentry__(argc, argv, envp);
      monstartup();
      _main();
      v5[0] = 0x746F6E6D6169i64;
      memset(&v5[1], 0, 0xF0ui64);
      v6 = 0;
      v7 = 0;
      v8 = 0;
      printf("Input password : ");
      scanf("%s", v9);
      strcat((char *)v5, pw2);
      if ( checkpw((__int64)v5, (__int64)v9, v3) )
      {
        puts("Success");
        printf("%s \n", (const char *)v5);
      }
      else
      {
        puts("Failed");
        printf("%s \n", v9);
      }
      system("pause");
      return 0;
    }
    

    위의 v5에 최종적으로 무슨 값이 저장되어 있는건지 궁금합니다. 참고로 pw2에는 your라는 문자열이 저장되어있습니다. 제가 생각했을때에는 16진수였던 변수 값이 문자열로 변환되면서 tonmaiyour가 될꺼같은데 아니더라구요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.11.22

    디컴파일링 중에 질문있습니다.


    int __cdecl main(int argc, const char **argv, const char **envp)
    {
      __int64 v3; // r8
      _QWORD v5[31]; // [rsp-60h] [rbp-218h] BYREF
      int v6; // [rsp+98h] [rbp-120h]
      __int16 v7; // [rsp+9Ch] [rbp-11Ch]
      char v8; // [rsp+9Eh] [rbp-11Ah]
      char v9[280]; // [rsp+A0h] [rbp-118h] BYREF
    
      _fentry__(argc, argv, envp);
      monstartup();
      _main();
      v5[0] = 0x746F6E6D6169i64;
      memset(&v5[1], 0, 0xF0ui64);
      v6 = 0;
      v7 = 0;
      v8 = 0;
      printf("Input password : ");
      scanf("%s", v9);
      strcat((char *)v5, pw2);
      if ( checkpw((__int64)v5, (__int64)v9, v3) )
      {
        puts("Success");
        printf("%s \n", (const char *)v5);
      }
      else
      {
        puts("Failed");
        printf("%s \n", v9);
      }
      system("pause");
      return 0;
    }
    

    위의 v5에 최종적으로 무슨 값이 저장되어 있는건지 궁금합니다. 참고로 pw2에는 your라는 문자열이 저장되어있습니다. 제가 생각했을때에는 16진수였던 변수 값이 문자열로 변환되면서 tonmaiyour가 될꺼같은데... 아니더라구요 ㅠ