인프런 커뮤니티 질문&답변

김상현님의 프로필 이미지
김상현

작성한 질문수

독하게 되새기는 C 프로그래밍

쉘 코드 (예제 포함)

ShellCodeSample03.c 질문 드립니다.

해결된 질문

작성

·

237

·

수정됨

0

강사님 항상 강의 잘 보고 있습니다.

질문이 있습니다.

예제에서 기계어를 배열에 담고 그 배열의 주소로 점프하게끔 되어있는데 강의에서 말씀하셨지만 배열은 데이터 영역에 있는데 어떻게 실행이 되는건가요?

무슨 기능을 끄면 가능하다고 하셨는데 이 예제엔 그 기능이 꺼져있는건가요?

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

프로젝트 속성에서 DEP 옵션을 Off했기 때문입니다. 일반 데이터를 저장하기 위한 배열 영역에 실행 코드를 저정하는 것은 가능해도 실행 할 수는 없는 것이 기본 설정입니다. 그러나 DEP 옵션을 사용하지 않으면 허용이 되며 심각한 보안 문제(원격코드 실행)가 발생 할 수 있습니다.

예제에서는 당연히 DEP옵션을 Off해 시연한 것입니다.

참고하시기 바랍니다.

김상현님의 프로필 이미지
김상현

작성한 질문수

질문하기