Reversing

[Code] main: push rbp mov rbp, rsp mov esi, 0xf mov rdi, 0x400500 call 0x400497 mov eax, 0x0 pop rbp ret write_n: push rbp mov rbp, rsp mov QWORD PTR [rbp-0x8],rdi mov DWORD PTR [rbp-0xc],esi xor rdx, rdx mov edx, DWORD PTR [rbp-0xc] mov rsi,QWORD PTR [rbp-0x8] mov rdi, 0x1 mov rax, 0x1 syscall pop rbp ret ================================== [Memory] 0x400500 | 0x3037207964343372 0x400508 | 0x003..
rip 레지스터 : 다음 실행할 명령어 바로 이전
① .text 실행 가능한 코드가 저장된 영역 읽기, 실행 main()등의 함수 코드 ② .data 초기화된 전역 변수가 위치하는 영역 읽기, 쓰기 전역 변수 (초기화 되지 않은 전역변수는 bss) ③ .rdata 전역 상수나 임호트 데이터가 위치하는 영역 읽기 전역 상수, 상수 문자열 ex. const str = "hello" (str전역변수는 .data, hello문자열은 .rdata) ④ 스택 일시적으로 저장하고 사용하는 임시 영억 읽기, 쓰기 지역 변수, 함수 인자 ⑤ 힙 자유롭게 사용 가능한 영역 읽기, 쓰기 malloc()등 동적 할당 메모리
프레딕
'Reversing' 카테고리의 글 목록 (4 Page)