파일을 실행시키면 다음과 같이 Door_Lock 이 뜬다. 임의의 수를 입력하니 "Sorry, try again" 메시지 박스를 띄운다.
.NET 기반으로 제작된 프로그램이다. .NET 디컴파일러를 통해 분석해보도록 한다.
디컴파일러를 통해 소스 코드를 분석하다 보면 다음과 같은 코드가 나온다.
Data.Length 가 0x10(16) 이라면 AES 암호화를 한 후 xor 연산하여 this.lowkey 와 비교를 한다.
Data.Length 길이를 16 으로 입력했더니 "Do you know? Preliminary Math?" 라는 메시지 박스를 띄운다.
정답 루틴으로만 가도록 코드를 조작한다.
길이만 맞춰서 입력하니 flag 가 뜬다.
code9ate2013 Start
'ctf' 카테고리의 다른 글
[HolyShield 2016 CTF] Unreadable Table (0) | 2016.01.21 |
---|---|
[HolyShield 2016 CTF] Memory (2) | 2016.01.21 |
[CSAW 2013 CTF] DotNetRevering.exe (0) | 2016.01.04 |
[CSAW 2013 CTF] csaw2013reversing1.exe (0) | 2015.12.31 |
[CSAW 2013 CTF] csaw2013reversing2.exe (0) | 2015.12.31 |