상세 컨텐츠

본문 제목

[Write-up] CodeEngn Advance RCE 2

Reversing Write-Up/03.CodeEngn Advance

by RACC8N 2020. 1. 30. 15:23

본문

문제 : 정답은 무엇인가

 

풀이 : 

프로그램을 실행시키면 창이 뜨지만 아무런 변화가없고 바로 꺼진다.

 

디버거를 켜서 확인해보자.

 

문자열을 검색해보니 다음과 같이 실행시켰을 때 나와야하는 문자열들을 확인할 수 있었다.

 

해당 위치에 BP걸고 달려봤지만, 특정부분에서 막혀 화면에는 아무것도 출력되지않고 프로그램이 꺼진다.

 

따라서 OEP부터 흐름을 따라가면서 분석해봤다.

 

해당 분기문에서 2번 정도 돌다가 아까와 같이 꺼지는 것을 확인했다. 이 분기문을 통과하기위해 JE로 바꿔보자.

 

분기문을 통과하니 정상적으로 문자열이 떴다. 

 

이제 아무 Password를 입력해보자.

 

Password를 입력후 루프를 반복하다가 call edx 명령어로 인해 프로그램이 꺼져버린다.

 

Stepinto해서 분석해보자.

 

한 글자씩 cmp하는 것을 확인할 수 있다.

 

글자가 다르면 바로 프로그램이 종료된다.

 

밑에는 문자열이 다 맞았을 때 WELLDONE이라는 문자열을 보여주는 것 같다.

 

그럼 저 글자들을 모두 조합하여 Password에 입력해보자.

 

성공한 것 같다.

 

 

다른 분들의 Write up을 봤을 때는 다들 처음부터 문자열이 정상적으로 나오는것 같다. 환경의 문제인건가 싶다.

관련글 더보기

댓글 영역