정답은 무엇인가
"정답은 무엇인가" 참으로 심오한 문장이 아닐 수 없네요.
먼저 문제 파일을 실행시켜보겠습니다.
창이 뜨긴 뜨는데 아무것도 출력하지 않고 바로 꺼져버리네요.
일단 ExeinfoPE를 이용한 정적 분석을 진행하겠습니다.
딱히 특별한 것은 보이지 않네요.
OllyDBG를 이용해서 분석해보겠습니다.
이 부분에서 오류가 발생하네요.
아무래도 프로그램을 실행시키면서 분석하기는 어렵겠네요.
일단 침착함을 가지고 x32DBG를 이용해 보기도 하고 다양한 노력을 해보았지만 오류가 계속 발생했습니다.
그렇게 구글링을 하다가 한 블로그를 발견했고 마침내 이 문제를 해결할 수 있었습니다.
https://yangjaeleeblog.wordpress.com/2017/07/01/codeengn-advanced-2%eb%b2%88/
이 부분을 JNZ에서 JE로 바꿔주면 오류가 발생하지 않습니다.
아주 감격스럽습니다.
어쨌든 프로그램을 실행시켜보겠습니다.
알맞은 비밀번호를 찾는 것이 이 문제를 푸는 방법으로 추정됩니다.
여러 함수들을 분석하다가 의심스러운 함수를 찾아버렸습니다.
입력한 문자열을 한 글자씩 비교하는 모습입니다.
따라서 정답은 비교하는 값들을 문자로 바꾼 "CRAAACKED!"가 되겠습니다.
Flag: CRAAACKED!
'CodeEngn Write Up > Advance' 카테고리의 다른 글
CodeEngn Advance RCE L06 Write Up (2) | 2022.05.19 |
---|---|
CodeEngn Advance RCE L05 Write Up (2) | 2022.05.19 |
CodeEngn Advance RCE L04 Write Up (4) | 2022.05.18 |
CodeEngn Advance RCE L03 Write Up (4) | 2022.05.18 |
CodeEngn Advance RCE L01 Write Up (1) | 2022.05.18 |