int __cdecl main()
{
write(1, "Reversing.Kr Easy ELF\n\n", 23u);
sub_8048434();
if ( sub_8048451() == 1 )
sub_80484F7();
else
write(1, "Wrong\n", 6u);
return 0;
}
int sub_8048434()
{
return __isoc99_scanf((const char *)&unk_8048650, &byte_804A020);
}
_BOOL4 sub_8048451()
{
if ( byte_804A021 != 0x31 )
return 0;
byte_804A020 ^= 0x34u;
byte_804A022 ^= 0x32u;
byte_804A023 ^= 0x88u;
if ( byte_804A024 != 0x58 )
return 0;
if ( byte_804A025 )
return 0;
if ( byte_804A022 != 0x7C )
return 0;
if ( byte_804A020 == 0x78 )
return byte_804A023 == 0xDDu;
return 0;
}
scanf로 문자열 입력받고나서 xor과 if문을 통해 값을 검사하고 해당 검사 모두 패스하면 끝.
살짝 고민했던건 byte_804A020~byte_804A025까지 있는데 일단 if문 특성상 0이 아니면 모두 True처리해서 아무거나 입력하면 되는건가 했으나 플래그를 구하고나니 그건 아닌듯 싶었다가 생각해보니 \n이 있었다는게 생각났다 ㅋㅋ
저것때문에 3분정도 고민..ㅡㅠ
'Reversing > Reversing.kr' 카테고리의 다른 글
[Reversing.kr] Easy Keygen (0) | 2019.08.13 |
---|