시스템 해킹

 1576, 1/79 회원가입  로그인  
   GTzad
   스택에 대해서

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1619 [복사]



http://terms.naver.com/entry.nhn?docId=837942&mobile&categoryId=209

버퍼 오버플로우에 관해서 읽어보다가

스택이 뭔가 궁금해서 봤더니 뭐 레지스터 비슷한 임시 기억장치라던데

말그대로 임시기억장치긴 한데 무슨일을 행하는지 좀 더 자세히 알고싶어요

그리고 문득 궁금한건데

위에서만 삭제를 하게되면

맨위가 n10이라고 치면

n3를 삭제하고싶다면 n3부터 n10까지 전부 지우면서 내려가서 삭제해야 하는건가요?
아니면 그냥 n3만 위로 불러서 삭제 시키는 건가요?
만약 n3만 따로 불러서 삭제한다면

n1  n2  --  n4  n5  n6  n7  n8  n9  n10

처럼 n3자리가 비어버리게 되는지 아니면

당겨져서

n1  n2  n4  n5  n6  n7  n8  n9  n10

이 되는건가요?

뭐랄까 걍

스택의 개념등등 여러가지에 대해서 사소한거라도 많은 정보를 얻을 수있으면 합니다

  Hit : 3830     Date : 2012/10/20 12:13



    
supershop 스택 그 자체는 자료구조의 한 종류입니다. 스택이라고 검색하시면 워낙 자료가 많이 나올테니 한번 찾아보세요. BOF에서 말하는 스택은 메모리의 한 부분이라고 보시면 됩니다. 레지스터는 CPU에 있는 저장공간이라면 스택은 메모리에 있는 저장공간이죠.

스택의 특성상 데이터의 삭제는 맨 위(top)에 있는 녀석만 할 수 있습니다.
따라서 n3을 삭제하고 싶으면 맨 위에서부터 쭉 삭제하면서 지워야겠죠
2012/10/24  
qkrwncks96 스택은 가상메모리에서 어느 부분을 뜻합니다.

데이터를 저장하고 싶으면 메모리를 할당해야합니다.

지역변수나 매게변수 부류의 변수들은 메모리를 할당해야하는데

스택메모리를 할당해야합니다. 제일마지막에 할당한 메모리가 낮은 주소값을 가집니다.

그게바로 스택의 TOP 이구요 스택의 top 이 낮아진다면 할당된 메모리가 줄어드는거구요 ^^
2012/10/24