게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
스택에서 표시한 두 부분은 뭐가 들어있는 건가요?
게시물ID : programmer_20930짧은주소 복사하기
작성자 : 관운장
추천 : 0
조회수 : 575회
댓글수 : 12개
등록시간 : 2017/07/01 00:39:56
옵션
  • 본인삭제금지
  • 외부펌금지
버퍼 오버플로우를 공부하면서 스택의 상태를 확인하고 있습니다.
지금 ssp는 꺼져있는 상태라서 canary값은 안 들어있구요.
저기 굵은 파란색으로 칠해놓은 두 부분에는 무슨 값이 들어있나 궁금해서요.
보라색 부분의 버퍼가 100바이트입니다.
소스코드로 말씀드리면
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
  buf[100] = {};
  strcpy(buf, *argv[1]);
  puts(buf);
  return 0;
}
이런 코드이구요.
실행은 AAAA를 입력해놓은 상태라서 0xbffff0ec가 버퍼 시작점으로 AAAA가 들어있습니다.
나머지 네모난 부분들은 나름 해석한 바에 의하면 저렇게 나오는데
저 두 부분엔 뭐가 있는 건지 궁금하더라구요.
저 안에 뭐가 들어있는지 아시는 분은 가르쳐주시면 감사하겠습니다.



123.png

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호