본문 바로가기

hacking/pwnable74

[Dream hack] Quiz: x86 Assembly 1-8 답더보기기본 지식or: dst와 src의 비트가 하나라도 1이면 1, 아니면 0사용법: and dst, src코드 해설'and rax, rcx' : 0x1234567800000000 'and rbx, rcx' :  0x000000009ABCDEF0'or rax, rbx' : 0x123456789ABCDEF0 참고or할떄0x123 -> 0001001000110xfff -> 11111111111111111111111 -> 0xfff이렇게 이진수로 바꿔서 1과 0을 비교한다.(f는 1111이다.)끝 2024. 5. 18.
[Dream hack] Quiz: x86 Assembly 1-7 답더보기  기본 지식and: dst와 src의 비트가 모두 1이면 1, 아니면 0사용법: and dst, src코드 해설'and rbx, rcx' rbx = 0x00000000ffffffffrcx = 0x123456789abcdef0rbx = 0x000000009ABCDEF0 참고and할떄0x123 -> 0001001000110xfff -> 111111111111000100100011 -> 0x123이렇게 이진수로 바꿔서 1과 0을 비교한다.(f는 1111이다.)끝 2024. 5. 18.
[Dream hack] Quiz: x86 Assembly 1-6 답더보기기본 지식and: dst와 src의 비트가 모두 1이면 1, 아니면 0사용법: and dst, src코드 해설'and rax, rcx' rax = 0xffffffff00000000rcx = 0x123456789abcdef0rax = 0x1234567800000000 참고and할떄0x123 -> 0001001000110xfff -> 111111111111000100100011 -> 0x123이렇게 이진수로 바꿔서 1과 0을 비교한다.(f는 1111이다.)  처음 에 보자마자이렇게 하서 틀렸다. rcx를 rbx로 잘못 보았는데 문제를 잘 읽어 보아야 한다.끝 2024. 5. 17.
[Dream hack] Quiz: x86 Assembly 1-5 답더보기기본 지식inc: op의 값을 1 증가사용법: inc op코드 설명code 3번째 출까진 전 문제에서 다루었따.'inc rax'rax 값: 0rax+1 = 0+1 = 1 참고명령어 설명:add: 앞에 값에 뒤에 값을 더한다.sub: 앞에 값에서 뒤에 값을 뺀다.inc: 1만큼 증가시킨다.끝 2024. 5. 17.
[Dream hack] Quiz: x86 Assembly 1-4 답더보기기본 지식sub: dst에서 src의 값을 뺀다.사용법: sub dst, str코드 해설'add rax, [rbx+rcx*8]': rax는 '0x3133A'이 된다.'add rcx, 2': rcx는 '4'가 된다.'sub rax, [rbx+rcx*8]'rbx+rcx*8 = 0x555555554000 + 4*8 = 0x555555554020 메모리 값은: 0x3133Arax에서 0x3133a를 뺀다: 0x3133a-3133A=0x0끝 2024. 5. 17.
[Dream hack] Quiz: x86 Assembly 1-3 답더보기기본 지식add: dst에 src의 값을 더한다.사용법: 'add dst, src''add rax, [rbx+rcx*8]''rbx'레지스터에 저장된 주소에 'rcx'레지스터의 값(2)에 8을 곱한 값을 더한 주소에 있는 메모리 값과 'rax' 레지스터의 값을 더하는 연산을 수행한다.' rbx + rcx * 8 = 0x555555554000 + 2 * 8 = 0x555555554010'메모리값: 0x0000000000000003 'rax+0x3=0x31337+0x3=0x3133A' 끝 2024. 5. 17.