완료됨
and 와 or 결과 차이
and 예시에서는
[Register]
eax = 0xffff0000
ebx = 0xcafebabe
[Code]
and eax, ebx
[Result]
eax = 0xcafe0000
결과가 ffff 대신에 cafe로 나오고
or 예시에서는
[Register]
eax = 0xffff0000
ebx = 0xcafebabe
[Code]
or eax, ebx
[Result]
eax = 0xffffbabe
결과가 cafe 대신에 ffff 가 나오는데 이유가 무엇인가요
#시스템_해킹
#배경지식
작성자 정보
답변
2
Hmin
강의 수강: 10
위 사진과 같이 2진수로 바꿔서 계산해보시면 알 수 있습니다.
fioweajfkoasdlkf
대표 업적 없음
and는 모두 1일때만 1 나머지는 0
or는 하나라도 1이 있으면 1 나머지는 0
f는 2진수로 변환시 1111 이고, 0을 2진수로 변환하면 0000이 나오게 됩니다.
즉 ffff는 모두 1이기 때문에 cafe와 and 연산하게되면 cafe가 출력되고, cafe와 or 연산하게되면 ffff가 출력됩니다.
나머지 경우에는 16진수를 2진수로 변환하여 연산하셔야 합니다.