2017-11-07 8 views
0

최근에 필자는 그래프 계산기 프로그램을 위해 compressor을 작성하는 중임을 알고 있습니다. 공간이 최소화되어 있고 임의의 주소로 명령 포인터를 설정하면 계산기 OS가 신경 쓰지 않습니다.자동 압축 풀림 프로그램은 어떻게 작동합니까?

기본 DEFLATE를 구현 한 다음 실행 코드에서 더 잘 작동 할 수있는 압축 알고리즘을 위해 google을 시도했습니다.

그러나 여기 내 질문이 있습니다. DEP가있는 최신 OS가 추출 된 코드를 실행하지 못하게합니다 (최소한 직접적으로는). 압축 된 코드를 실행하거나 압축되지 않은 인터프리터를 실행하는 등 모든 "압축 된 실행 파일"이 압축 해제 된 데이터로 제한됩니까?

+1

일반적으로 자동 압축 해제 아카이브는 코드를 디스크에 저장 한 다음 별도의 프로그램으로 실행합니다. 주 프로세스에서 코드를 추출하고 실행하는 것은 문제가되지 않는다고 말할 수 있습니다. 멀웨어와 바이러스가하는 일입니다. – tadman

답변

2

DEP는 어떤 OS가 현대

덜-직접 물론 문제가없는 추출 코드를 (적어도 직접적으로) 실행하는 프로그램을 허용하지 않을 것이다. W^X가있는 경우에도 unpacker는 코드를 쓰기 가능한 메모리에 쓸 수 있으며 , 만 실행 가능 메모리로 변환합니다.

비록 많은 운영 체제에서 DEP 지원이 있어도 프로그램은 쓰기 가능하고 실행 가능한 메모리를 할당 할 수 있습니다. DEP는 귀하가 허락을받은 일을하지 못하게하지 않습니다.