본문 바로가기

리버싱/CodeEngn 문제풀이

CodeEngn basic 1번 문제 풀이

SMALL

리버싱 CodeEngn basic 1번 문제

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

파일을 실행해 보면 다음과 같은 메세지박스가 뜬다.



나의 HDD를 CD-Rom으로 인식하게 만들어야하는것같다.


이 부분에서 첫번째 메세지 박스가 뜬다.

계속 진행한 후

GetDriveTypeA 라는 함수를 지나고 나니


EAX 의 값이 3으로 바뀐것을 알수 있다. 

레지스터 EAX는 함수의 return값을 주로 저장하는 레지스터이다.

INC ESI가 총 3 번있고  DEC EAX가 총 2번 있으니 ESI의 값은 +3이 되어있고, EAX의 값은 처음이었던 3에서 -2가 되어있는것을 볼수있다.


그후 EAX와EXI를 비교하여 같으면 성공메세지가 뜨고 다르면 실패메세지가 뜨는 것을 볼수있다.

EAX값과 ESI의 값이 연산 후 같게 되려면 GetDriveTypeA함수를 실행한 후 EAX의 값이 5이어야 한다.


답: 5

LIST