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
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기