어셈블리어와 악성코드

어셈블리어 XOR을 이용하여 값 바꾸기

YaluStar 2018. 11. 19. 00:50

어셈블리어 명령어 [XOR]

XOR 명령어를 사용하면 temp 변수를 사용하지 않고 AX와 BX에 저장되어 있는 값을 바꿀 수 있습니다.



실습 환경

VMware Workstation 15 Player (FREE 버전)

Windows XP Professional SP3 (32Bit)


먼저 다음과 같이 입력합니다.

-a 100

MOV AX, 1234

MOV BX, 5678

XOR AX, BX

XOR BX, AX

XOR AX, BX





우선 MOV 명령어를 이용하여 AX=1234, BX=5678의 값을 입력합니다.

그리고 첫 번째 XOR AX, BX을 통하여 AX와 BX의 XOR한 결과 값을 AX에 저장합니다.

AX=444C 값이 저장됩니다.

2 번째 XOR BX, AX을 진행하여 BX와 AX의 XOR 결과 값을 BX에 저장합니다.

BX=1234 값이 저장됩니다.

마지막 XOR AX, BX을 진행하면 AX와 BX의 XOR 결과 값AX에 저장이 됩니다.

AX=5678 값이 저장됩니다.





처음 AX=1234, BX=5678 이였지만, 3번의 XOR 명령어를 이용하여 AX=5678, BX=1234로 가지고 있던 서로의 값을 바꾸는 방법을 사용할 수 있습니다.






이상으로 어셈블리어 명령어 XOR을 이용하여 값을 바꾸는 방법에 대하여 알아보았습니다.

감사합니다.


반응형