카테고리 없음

[CodeEngn] Advance RCE L3, L5 문제풀이

작성자 - 재감자숭

Advance RCE L3

Name : Vallani

Serial : 1234 입력 후 “No, that is not the right answer :)” 문자열을 얻을 수 있다.

 

해당 실행파일에 사용된 문자열들을 볼 수 있다.

변수를 저장해주는 함수 GetDlgItemTextABreakPoint를 걸어 놓는다.

밑을 보면 입력했던 Name과 Serial 값이 나와 있는 것을 확인할 수 있다.

더 살펴보면 입력한 값 “1234”와 알 수 없는 “471759781”값이 있는 것을 확인 할 수 있고 이때, xor 연산을 수행하는 것을 알 수 있다.

이 부분은 확인해보면 “471759781”“1234”를 비교하는 것으로 보아 serial 값이 “471759781”임을 추측할 수 있다.

“471759781” 입력 후 비교를 해보도록 하자.

성공 메시지가 나오면서 문제가 해결된 것을 볼 수 있다.

 

Advance RCE L5

파일을 실행하여 “1234”를 입력 하면  “Mal Cracker!!!” 문자열을 얻을 수 있다.

디버거로 해당 실행파일에 사용된 문자열들을 볼 수 있는데,  이것을 통해 성공 시 나타나는 문자열은 Bien!!!으로 추측할 수 있다.

컴파일을 계속 진행하다 보면 “1234”“677345”가 비교되는 부분을 찾을 수 있는데 더 해볼 거 없이 "1234" 대신 "677345"를 입력해보도록 하자.

입력하니 성공시 출력되는 Bien!!!이 나온 것을 확인할 수 있다.

Contents

이 글이 도움이 되었다면, 응원의 댓글 부탁드립니다.