728x90
반응형
문제 : https://dreamhack.io/wargame/challenges/14
Code Analysis
입력해서 correct가 뜨는 문자열을 찾으면 된다
Reversing
IDA로 메인 함수를 보면
int __fastcall main(int argc, const char **argv, const char **envp)
{
char v4[256]; // [rsp+20h] [rbp-118h] BYREF
memset(v4, 0, sizeof(v4));
sub_140001190("Input : ", argv, envp);
sub_1400011F0("%256s", v4);
if ( (unsigned int)sub_140001000(v4) )
puts("Correct");
else
puts("Wrong");
return 0;
}
256바이트 길이의 문자열을 입력받아 v4에 넣고, 이를 sub_140001000함수에 인자로 v4를 넣어서 이게 true가 되면 Correct를 출력함
sub_140001000(a1)
_BOOL8 __fastcall sub_140001000(const char *a1)
{
return strcmp(a1, "Compar3_the_str1ng") == 0;
}
"Compar3_the_str1ng"와 입력되는 문자열이 같으면 0이므로 같으면 true를 return
따라서 플래그가 Compar3_the_str1ng이다
728x90
반응형
'Hacking > Wargame' 카테고리의 다른 글
[Cryptography] Textbook-CBC (4) | 2024.08.03 |
---|---|
[Reversing] Reversing Basic Challenge #1 (0) | 2024.07.28 |
[Pwnable] bof (2) | 2024.07.28 |
[Pwnable] basic_exploitation_001 (0) | 2024.04.03 |
[Cryptography] Textbook-RSA (1) | 2024.02.13 |