CodnEngn Basic 01

Kail-KM
|2015. 5. 31. 21:53

문제확인


문제는 아래와 같이 GetDriveTypeA가 CD-ROM으로 인식 되기 위해서는 어떤 리턴값이 와야 하는지에 대한 문제를 구하는 방법이다.



아래와 같이 BP를 걸고 실행시 EAX에 3이 반환 되는 것을 확인 할 수가 있다. 이는 DRIVE_FIXED가 반환 되는 것으로 MSDN을 통하여 확인을 할 수가 있다. 또한 여기서 우리는 DRIVE_CDROM이 Return Value 5에 있는 것을 확인 할 수가 있으며, 이를 통하여 우리는 문제를 풀 수가 있었다.




풀이



하지만 여기서 CMP EAX,ESI를 통하여 분기점이 나뉘어지는데 여기서 문제가 이상한 것인지 EAX에 5를 넣어도 CMP EAX(3), ESI(4010003)이 비교가 되어서 결국 실패하는 부분으로 가게 된다. 따라서 우리는 성공 문자를 출력하기 위하여 다른 방법을 사용하여야 한다.


아래와 같이 JE를 JNE로 바꿈으로 인하여 우리는 성공 메세지를 확인 할 수가 있다.


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

CodeEngn Basic 06  (0) 2015.06.01
CodeEngn Basic 05  (0) 2015.05.31
CodeEngn Basic 04  (0) 2015.05.31
CodeEngn Basic 03  (0) 2015.05.31
CodeEngn Basic 02  (0) 2015.05.31