-榮-

[CodeEngn] Basic RCE L13 본문

CodeEngn/Basic

[CodeEngn] Basic RCE L13

xii.xxv 2021. 3. 25. 16:58

 

● CodeEngn Basic RCE L13 문제

 

 

CodeEngn Basic RCE L13

 

 

◎ 파일 실행 화면

 

[그림 1] 파일 실행 화면

 

[그림 2] password failed

 

 

패킹 및 난독화 여부 확인

 

[그림 3] PEiD

 

 

.NET 파일은  .NET 어셈블리를 C# 또는 IL 코드로 디컴파일하는 도구를 사용하여 분석합니다.

본 포스트에서는 dotPeek을 사용하였습니다.

 


 

● CodeEngn Basic RCE L13 풀이

 

[그림 4] dotPeek / 13.exe (Basic RCE L13 실행파일 - ConsoleApplication3)

 

dotPeek에 Basic RCE L13 실행파일을 올리고 [그림 2]의 문자열을 찾았습니다.

 

해당 코드를 보면 입력받은 문자열(Consile.ReadLine())과 str을 비교하여 틀리면 "Bad Luck! Try again!"을 출력하고, 맞으면 while문을 종료하고 "Well Done! You cracked it!" 문자열을 출력합니다.

즉, 정답은 str에 들어있는 문자열입니다.

 

str을 출력하는 코드를 추가하여 정답을 찾아봅시다.

디컴파일된 코드를 추출한 뒤 Visual Studio에 올리고 코드를 추가합니다.

 

[그림 5] 디컴파일 코드 추출

 

[그림 6] Visual Stodio에서 해당 위치에 코드 추가

 

빌드하면 if문 직전까지 출력되어 정답을 확인할 수 있습니다.

 

 

[그림 7] 정답 출력

 


 

● CodeEngn Basic RCE L13 확인

 

 

[그림 8] 정답 확인 / 성공 문자열 출력

 

 

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

[CodeEngn] Basic RCE L15  (0) 2021.03.25
[CodeEngn] Basic RCE L14  (0) 2021.03.25
[CodeEngn] Basic RCE L12 (+α PEView 주소 변환)  (0) 2021.03.24
[CodeEngn] Basic RCE L11  (0) 2021.03.24
[CodeEngn] Basic RCE L10  (0) 2021.03.24