본문 바로가기
Security/[게임] CTF 풀이

[Reversing] DEFKTHON 2014 Reversing100

by blackcon 2014. 3. 4.

 위의 프로그램을 클릭하면 msgbox가 뜨는 형태의 프로그램입니다. 위 프로그램은 .NET Reflector로 쉽게 접근할 수 있었습니다!! 우선 밑에는 초기화부분 ~


Click을 하면 이벤트가 발생되는것 외에는 따로 하는 일이 없네요! 근데 노란색 줄을 보시면 "key is md5(sha1)"이 보이는데 일단 알아두고 다음 함수를 보시죠.


Userhint()부분인데 "get_key_from_hint"가 보이네요. 힌트에서 key를 얻어라는데 위에서 봤던 key is ~가 힌트가 될듯 합니다!!

  마지막으로 메인부분! 예외처리로 되어있고 당연히 Int.Parse()부분에서 예외가 발생하여 프로그램은 죽게됩니다. 여기서 코드를 바꿔보기도 했는데 아무것도 안되더라구요...

 근데  Int.Parse()안에 노란줄로 표시한 부분! 숫자+알파벳 조합이라지만 영어로 보이네요........양 옆에 9999를 제외하고 가운데만 보면 concat('B0wB4me4iamr', num3, num3, 't') 가 되겠고, 이 부분을 거치면 결국 나오는 문자열은 "B0wB4me4iamr00t"입니다. hint에 맞춰서 flag를 생성하면 끝!@!!