CodeEngn Write Up/Basic

CodeEngn Basic RCE L13 Write Up

서원근양학계정 2022. 3. 11. 17:05

정답은 무엇인가

https://ch.codeengn.com/

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

 

본격적인 분석에 앞서 프로그램을 실행시켜보겠습니다.

 

보통의 키젠 문제처럼 보입니다.

이제 OllyDBG로 열어보겠습니다. 라고 말하는 순간 OllyDBG가 에러를 뱉어냅니다.

 

흠... 일단 PEiD로 열어보겠습니다.

 

C#으로 짜여진 프로그램이라는 것을 확인할 수 있습니다.

OllyDBG는 C#으로 만들어진 프로그램을 디버깅할 수 없다는 약점이 있습니다.

그래서 저는 C# 디컴파일러 도구인 dotPeek을 이용해보겠습니다.

 

프로그램의 디컴파일된 C#코드를 확인할 수 있습니다.

이 코드들을 Visual Studio에서 열어보겠습니다.

 

이 기능을 이용해서 코드를 파일로 출력할 수 있습니다.

 

 

Visual Studio에서 잘 열리는 것을 확인할 수 있습니다.

C#코드를 분석해보면 입력한 값이 str과 같지 않으면 실패 메시지를 출력하고 성공할 때 까지 반복하는 것을 알 수 있습니다.

이제 코드를 간단하게 수정해서 str의 값을 알아내보겠습니다.

 

코드 한 줄을 추가해서 str의 값을 출력하게 해 보았습니다.

이제 프로그램을 실행시켜서 결과를 확인해보겠습니다.

 

Please enter the password:  아래에 어떤 문자열이 출력된 것을 확인했습니다.

저 문자열을 입력해보겠습니다.

 

성공메시지가 출력됩니다.

 

Flag: Leteminman

'CodeEngn Write Up > Basic' 카테고리의 다른 글

CodeEngn Basic RCE L15 Write Up  (3) 2022.03.11
CodeEngn Basic RCE L14 Write Up  (0) 2022.03.11
CodeEngn Basic RCE L12 Write Up  (1) 2022.02.21
CodeEngn Basic RCE L11 Write Up  (0) 2022.02.17
CodeEngn Basic RCE L10 Write Up  (1) 2022.02.10