완료됨
not연산 결과가 다릅니다.
rax를 not연산 하면 0x0이 되는데, 왜 답은 0xcafebabe인가요?
#리버싱
#배경지식
작성자 정보
답변
1
믕믕이부하
대표 업적 없음
0x35014541을 10진수로 만들어보면
3 5 0 1 4 5 4 1
not 연산을 해서 값이 반전 될 경우
3 -> 12
5 -> 10
0 -> 15
1 -> 14
4 -> 11
5 -> 10
4 -> 11
1 -> 14
이를 다시 16진수로 바꾸면
c a f e b a b e
가 되는데 어떤 부분에서 헷갈리셨는지 잘 모르겠네요...
만약 rax 레지스터의 값이 0xffffffff 이라면
15 -> 0
15 -> 0
15 -> 0
15 -> 0
15 -> 0
15 -> 0
15 -> 0
15 -> 0
0x0가 되긴 합니다만 해당 문제에서 rax 레지스터의 값은 0x35014541이기 때문에 0xcafebabe 가 나옵니다.