완료됨
스택버퍼오버플로우 ex2 메모리할당에 관해
temp 랑 auth 메모리 할당이 왜 temp가 먼저 되는건가요? 그리고 할당시 항상 마지막 메모리공간 바로 뒤에 새로운 변수의 메모리 공간이 할당되는건가요?
#시스템해킹
작성자 정보
답변
1
snwo
2024 Invitational Contenders
코드위쪽 주석을 보시면 어떤 컴파일러로 컴파일 했는지 나와있지 않습니다. 컴파일러(gcc,clang 등)
나 운영체제에 따라 스택내 지역변수 순서가 다른 것같습니다.
https://kldp.org/node/61898
여기 참고하시면 padding 으로 일정단위로 스택을 정렬한다고 하네요. char a[7]
이런거 말이죠. 직접 소스짜보면서 디버깅해보셔도 좋을 것같습니다. 변수 바로 뒤가 아니라 padding 되어 정렬된 메모리공간 바로뒤가 맞을껍니다... 아니면말구요