Reversing/Wargame

[CodeEngn] Basic RCE L16

와븨 2023. 5. 17. 00:59

 

 

디버거로 실행 파일을 열면 위와 같이 cmd창이 뜬다.

 

F8로 프로그램을 실행하면 위와 같이 cmd창에 Name을 입력할 수 있도록 뜬다.

 

CodeEngn일 때 Serial 값을 구해야하니 Name은 CodeEngn, Password는 아무 값이나 입력해줬다.

 

text string을 확인하니 "Good Job!" 부분이 성공 문자열인 것 같다.

 

해당 위치로 이동해준다.

 

성공 문자열 코드 윗부분을 살펴보니 EAX의 값과 SS(Stack Segment), 즉 EBP-3C의 값을 비교하는 부분이 있었다.

SS 값을 계산해 나온 주소로 이동하면 serial 값이 있을 것으로 예상된다.

 

CMP 코드에서 오른쪽 마우스 > Follow in Dump > Memory address 를 선택한다.

 

그럼 위와 같이 SS(EBP-3C)를 계산한 주소로 이동한다.

이동된 주소의 Hex dump 값이 serial로 추정!

 

Hex dump 값을 10진수로 변환해준 후,

 

BP를 제거하고 Ctrl+F2로 초기화한 뒤 프로그램을 다시 실행해 찾은 serial 값을 입력해주니 정답이었다.

 

성공!