문제입니다.

파일을 실행하면 CD-ROM으로 인식되게 만들라네요

그리고 메시지가 하나 더 뜹니다.

올리디버거로 살펴보겠습니다.

저기 "GetDriveTypeA"를 실행해보면 아래와 같이 리턴값이 나옵니다.

eax에 3이 들어가있습니다. 즉, 리턴값은 3이네요

그럼 문제에 나온 "GetDriveTypeA"를 MSDN에서 리턴값을 확인해보겠습니다.

리턴값 3은 고정 드라이브로 하드디스크 드라이버나 플래시 드라이버를 의미합니다.

리턴값 5는 CD-ROM 드라이버를 의미하지만 여기서는 리턴을 5로 수정하면 실패하게 되어있습니다.

이유는 DEC EAX가 두번 진행되어 eax를 2 감소시킵니다. 이후 401026 부분에서 eax값과 esi 값이 같으면 성공루틴으로 빠지게 됩니다.

cmp eax, esi 부분에서 esi를 값을 살펴보면 2가 됩니다.

반대로 이 값에 2를 더한 값 4를 "GetDriveTypeA"의 결과값으로 수정하면 성공루틴으로 빠지게 됩니다.

Basic RCE L01 성공!

'WAR GAME > CodeEngn(Basic)' 카테고리의 다른 글

Basic RCE L06  (2) 2020.04.29
Basic RCE L05  (2) 2020.04.29
Basic RCE L04  (2) 2020.04.29
Basic RCE L03  (2) 2020.04.28
Basic RCE L02  (2) 2020.04.28

+ Recent posts