IT 그리고 정보보안/Knowledge base

어셈블리어 - MOVZX 명령어

plummmm 2021. 4. 17. 10:19
반응형

MOV 명령의 확장 명령인 MOVZX를 알아본다.

이전에 MOV명령을 설명할 때 같은 크기의 데이터 끼리만 복사가 된다고 했는데..

MOVZX 명령은 첫번째 데이터가 두번째 보다 크기가 커도 복사가 된다.

대신 크기가 안맞으니 남은 공간은 0으로 체워짐..

 

컴파일과 오브젝트 파일 링크하는 방법은 이전 mov명령어 포스트 참고

 

push ebp 

mov ebp, esp

sub esp, 4h

: 아까도 설명 했듯이.. 함수의 프롤로그와 스택 한칸의 크기를 할당한다.

 

mov dword ptr [ebp-4], 0000ffffh : 할당된 스택에 0xFFFF 값이 저장된다.

 

mov bx, word ptr [ebp-4] : BX부분에 FFFF가 복사된다. 원래 ebx값이 7FFD0000이었는데 7FFDFFFF이 되었음.

 

movzx eax, bx : 0000FFFF 값이 EAX에 복사된다. BX크기만큼 자르고 나머지 0넣는다는 것은 아까 말함.

 

mov esp, ebp

pop ebp

retn

: 에필로그

 

 

참고 도서 : 리버싱 윈도우 - 로드북

반응형