완료됨
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

image.png

위 사진과 같이 2진수로 바꿔서 계산해보시면 알 수 있습니다.

2023.03.01. 18:27
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진수로 변환하여 연산하셔야 합니다.

2023.03.04. 16:13