완료됨
char buf[0x28](40bytes)인데.. 첫번째 payload에 b'A' * 0x30(48bytes)만큼 넣어야 작동하는 이유가 뭐죠??

char buf0x28인데.. 첫번째 payload에 b'A' * 0x30(48bytes)만큼 넣어야 작동하는 이유가 뭐죠??

#pwnable
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
avatar
wyv3rn
무플 방지 위원회장

어셈블러 코드를 보시면 아시겠지만 실제로는 그만큼 스택을 할당하기 때문입니다.

이는 컴파일 시 발생하며, 효율적인 메모리 관리를 위해 더미가 추가된 것입니다.

그런 경우가 잘 없긴 한데, 코드만으로 스택의 크기를 확인하는 것은 오류가 발생할 가능성이 항상 있습니다.

2023.05.24. 05:52