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

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

#pwnable
Author
Answers 1
avatar
wyv3rn
무플 방지 위원회장

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

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

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

2023.05.24. 05:52
Do you know the answer?
Share and earn points!
Answer and earn points