Wargame/CodeEngn

[CodeEngn] Basic RCE L05

핏디 2021. 7. 29. 13:11
SMALL

[문제]

05.exe
0.13MB


[풀이]

 

파일을 다운하여 임의의 문자열을 넣을면 오류 메시지가 출력된다. 

 

IDA를 열어 start 함수를 보면 UPX로 패킹되어 있는 것을 알 수 있다.

 

이에 윈도우 cmd 창에서 upx 언패킹을 하여 ollydbg로 분석해보았다.

 

ollydbg로 [Searchfor] - [All referenced text strings]를 확인하면 프로그램 속의 문자열만 추출하여 보여준다. 여기서 Enter a Serial! 아래에 Registered User와 GFX-754-IER-954가 위치하였고, 이 다음 성공 메시지를 출력하고 있었다.

 

 

해당 값들이 실제 정답인지 확인하고자 코드를 확인하였다.

코드를 보면 Registered User 아래에 조건 분기문으로 00440F8C로 분기하는 것을 볼 수 있는데, 문자열을 비교하여 값이 다르면 Wrong 문자열을 출력하는 코드로 분기한다는 것을 알 수 있다.

 

시리얼 넘버 또한 같은 방식이다. 문자열을 비교해 값이 다르다면 00440F72로 분기하기 때문에 두 문자열을 정답임을 알 수 있다.

 


[핵심]

upx 패킹

LIST

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

[CodeEngn] Basic RCE L09  (0) 2021.08.11
[CodeEngn] Basic RCE L08  (0) 2021.08.04
[CodeEngn] Basic RCE L07  (0) 2021.07.30
[CodeEngn] Basic RCE L04  (0) 2021.07.22
[CodeEngn] Basic RCE L03  (0) 2021.07.22