inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

쉘 코드 (예제 포함)

ShellCodeSample03.c 질문 드립니다.

해결된 질문

292

김상현

작성한 질문수 62

0

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

질문이 있습니다.

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

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

c kernel secure-coding

답변 1

0

널널한 개발자

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

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

참고하시기 바랍니다.

병행성 제어

0

53

2

질문이 있습니다(강의와 거의 상관이 없는)

0

79

2

컴파일러 서적 질문입니다

0

165

1

코드생성 및 최적화 질문입니다

0

168

1

Hex Editor를 이용한 다국어 번역 관련 질문입니다

0

213

2

큐의 배열을 넘겨도 정상작동합니다

0

159

2

캐너리비트에 관하여 질문

0

220

3

상수화된 문자열에 질문있습니다

0

176

1

함수 호출 매개변수 전달에 대한 질문 드립니다.

0

195

1

단항 증감 연산에 따른 다른 접근에 대한 질문있습니다.

0

212

2

함수호출 규약 종류에 따른 장단점 여부

0

235

2

정적라이브러리 링크 오류

0

227

1

const char *를 char*에 초기화할때의 컴파일 에러 처리 방식 문의

0

359

2

pszParam 수정이 왜 Hello World print에도 영향을 미치는지 이해가 잘 안됩니다.

0

261

2

비선형 자료구조

0

314

1

자료 구조 공부 후에

0

357

1

강의자료 관련

0

254

1

마지막에 말씀하신 부분 질문드립니다.

0

216

1

문자열 관련 질문 드립니다

0

293

1

라이브러리

0

276

1

부동소수점

0

397

1

왜 변수 주소 사이에 offset이 있는 건가요?

0

307

2

stack 쌓는 순서

0

515

1

함수호출이랑 쓰레드

0

415

1