스택

스택 버퍼 오버플로우1. 스택 버퍼 오버플로우1. 버퍼 (Buffer)버퍼는 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소의 의미로 쓰인다. 버퍼는 데이터의 처리 속도가 다른 두 장치가 있을 때, 이 둘 사이에 오가는 데이터를 임시로 저장해 완충 작용을 한다.즉 수신측과 송신 측 사이에 버퍼라는 임시 저장소를 두고, 이를 통해 간접적으로 데이터를 전달하게 한다.이렇게 하면 버퍼가 가득 찰 때까지는 유실되는 데이터 없이 통신할 수 있다.빠른 속도로 이동하던 데이터가 안정적으로 목적지에 도달할 수 있도록 완충 작용을 하는 것이 버퍼의 역할이다. 현대에는 이런 완충의 의미가 많이 희석되어 데이터가 저장될 수 있는 모든 단위를 버퍼라고 부르기도 한다. 스택에 있는 지역변수는 스택 버퍼, 힙에 할당된 메모..
스택 프레임 1. 스택 프레임 1. 스택프레임이란? 스택은 함수가 사용하는 지역변수, 파라미터 등이 저장되는 공간이다. 하지만 이런 스택 영역을 아무런 구분 없이 사용하게 된다면, 서로 다른 함수가 같은 메모리 영역을 사용할 수 있게 된다. 따라서 함수별로 사용하는 스택의 영역을 명확히 구분하기 위해 스택 프레임(Stack Frame)이 사용된다. 대부분의 프로세스에서는 함수가 자신이 호출될 때 스택 프레임을 만들고, 반환할 때 이를 정리한다. 2. 함수 호출 단계 함수 호출 함수가 사용할 매개변수를 스택에 넣고 함수 시작 지점으로 점프한다. 함수 프롤로그 함수 내에서 사용할 스택 프레임을 설정한다. 함수의 본체 함수의 내용을 수행한다. 함수 에필로그 함수가 끝나면 처음 호출한 지점으로 돌아가기 위해 스..
GunP4ng
'스택' 태그의 글 목록