반응형
rev-basic-0
ida64로 chall0.exe를 디컴파일 했다.
- ida64 → open → chall0.exe → main → [tab] click
main()
을 hex-ray(TAB)로 디컴파일해서 코드를 확인해보자.
int __cdecl main(int argc, const char **argv, const char **envp)
{
char v4[256]; // [rsp+20h] [rbp-118h] BYREF
memset(v4, 0, sizeof(v4));
printf("Input : ");
sub_1400011F0("%256s", v4);
if ( (unsigned int)sub_140001000(v4) )
puts("Correct");
else
puts("Wrong");
return 0;
}
v4를 입력값을 받고 sub_140001000(v4)
을 실행한다.
목적은 if문 조건이 참이 되는 v4를 알아내는 것이다.
_BOOL8 __fastcall sub_140001000(const char *a1)
{
return strcmp(a1, "Compar3_the_str1ng") == 0;
}
sub_140001000()
를 보면 인자를 strcmp(a1, "Compar3_the_str1ng")
로 비교한다.
- a1이 "Compar3_the_str1ng"과 같으면 return 1을 수행한다.
즉, flag는
DH{Compar3_the_str1ng}
반응형