[클라우드 바우처] 80% 할인된 금액으로 드림핵 엔터프라이즈를 도입해 보세요. 자세히 알아보기
long 은 단위가 4바이트 아니였나요?

*ptr[0]이 ptr[1]을 가리키게 하므로 ptr[0]에 __free_hook을 넣고 ptr[1]에 system을 넣으려 했습니다.
ptr은 형식이 long이니까 ptr[0] 과 ptr[1]엔 각각 4바이트만큼의 공간만 할당된다고 생각했는데
그렇게 p32(__free_hook)랑 p32(system) 이렇게 send하니 에러가 떠서
p64로 패킹을 한번 바꿔봤더니 성공이네요

이해가 안되는건 처음 ptr을 선언했을때 long으로 선언했으니 4바이트만큼 할당되는 줄 알았는데..64비트체계에선 long이 8바이트 단위인가요? 아시는 분 도와주시면 정말 감사하겠습니다..ㅠ

#pwnable
작성자 정보
답변 1
avatar
Rasser
워게임: 20

64비트에서는 long이 8바이트 입니다
https://sweetnew.tistory.com/16

2022.07.15. 00:46
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기