[CodeEngn] Basic RCE L01
L01
문제
HDD를 CD-Rom으로 인식시키는 GetDriveTypeA의 리턴값을 구하는 문제
GetDriveTypeA Function
- disk drive의 Type을 결정하는 함수
파일 실행
확인 - Click
올리디버거로 파일 실행
- 메시지 박스 확인 시 파일 실행 시 나왔던 문자열 확인
- 실패와 성공 문자열 동시에 확인
리턴값 알아보기 위해 0040101D에 Break
-
레지스터 상태 영역에서 리턴값 확인
-
레지스터 용도
-
EAX 값 3으로 HDD Return 값 3 도출
00401026까지 차례대로 실행(Step over - F8)
-
EAX 두번 내리고 ESI 세번 올린 후 JMP 조건 명령어 실행
-
JMP 조건 명령어
-
조건 플래그 값이 1(값이 같음)이면 성공 메시지 0(값이 다름)이면 오류 메시지 확인
첫 번째 방법
- 00401026 줄의 어셈블리어 명령 코드에서 JE를 JMP로 수정
두 번째 방법
- 00401024 00401026 줄의 어셈블리어 명령 코드에서 비교값 통일