반응형
학교제한으로 못나갔지만 문제 받아서 풀어봤습니다.
일단 UPX패킹되어있으므로 압축을 풀어서 IDA로 살펴보았습니다.
이 문자열에서 스테이지 번호를 출력함을 알 수 있으므로
스테이지 번호를 담고 있는 변수가 있음을 알 수 있습니다.
0x401300으로 이동해 보겠습니다.
Stage를 찾고 다시 이것을 누가 참조하는지
확인해 보았습니다.
sub_402020 = 스테이지 증가
MakeMap = 스테이지 1이면 맵 고정
sub_401300 = 스테이지 출력
sub_401E90 = 스테이지 20과 63일때의 트리거
sub_4034A0 = 스테이지 초기화
이렇기 때문에 우리는 sub_402020과 sub_401E90만
중요하게 생각하면 됩니다.
이때 스테이지가 20이면 1번 이 찾아지고
60이면 3번이 찾아집니다.
이때 20번을 보면 Pass : Congratulation이라 되어있는데
이것은 비밀번호의 키이며
비밀번호를 입력할시 2번이 찾아집니다.
이부분에서 eax를 조정하여
20층 -> 사망 -> 비밀번호 입력 -> 63층
으로가면 키가 나옵니다.
Player20
KEY : 6Sa8Qu6Eo8Uy4Ye
'CTF' 카테고리의 다른 글
CodeGate 2016 Junior BugBug (0) | 2016.03.20 |
---|---|
CodeGate 2016 Junior JS_is_not_a_jail (0) | 2016.03.19 |
CodeGate 2016 Junior MICCheck (0) | 2016.03.19 |
DIMICON Write Up (0) | 2015.11.13 |
2015 YISF 순천향대 본선 및 예선 WriteUp (2) | 2015.09.07 |