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 값을 입력해주니 정답이었다.