바로 실행을 시켜본다.



이러한 메세지 박스가 출력되는데...

GetDriveTypeA 함수에 브레이크 포인트를 걸고 다음 줄을 실행 시키면 eax에 함수의 리턴값 3이라고 나온다.

그렇지만 우리는 리턴값으로 cd-rom으로 바꿔야하기 때문에 문제만 보고 그 값을 유추 할 수 있지만

GetDriveTypeA 함수의 레퍼런스를 참고하면 리턴값을 알 수 있다. 


위의 계산 과정을 보면 esi는 3번 증가하고 eax는 2번 증가한다. 마지막에 compare 되어서 같으면 jump하고 아니면 다음줄로 내려간다.

cmp 명령 줄에 왔을때 레지스터의 값들 인데 eax가 2만큼 모자라다. 그리고 기존 리턴값인 3에서 +2를 해준다면

위와 같이 cd-rom이라는 문구가 나온다.


oep와 eax, esi의 관계는 무엇?


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

06.코드엔진 Basic06  (0) 2018.01.17
05.코드엔진 Basic05  (0) 2018.01.17
04.코드엔진 Basic04  (0) 2018.01.17
03.코드엔진 Basic03  (0) 2018.01.17
02.코드엔진 Basic02  (0) 2018.01.17

+ Recent posts