Alona 2019. 6. 30. 16:26

Q. HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가?

위 문제를 해결하기 위해 IDA Pro를 이용하여 문제를 분석해본다.

로직을 보면 먼저 Caption과 Text를 각각 스택에 저장 후 MessageBoxA를 call 하여 문구를 출력한다.

그리고 다음으로 RootPathName을 스택에 저장한 후 GetDriveTypeA를 호출하게 된다.

c드라이브의 경로(C:\)를 전달 받고 C드라이브가 GetDriveTypeA로부터 CD-ROM인지 아닌지 판별하는 것 같다.

Microsoft Doc를 살펴보면, 루트 디렉토리이름을 입력 받는 것을 알 수 있다.
또한 이 페이지의 아래를 보면 Return Value를 알 수 있다.

함수가 5를 반환하면 해당 드라이브가 CD-ROM이라는 것을 알 수 있다.