PIE

    [System][Dreamhack] PIE - Position-Independent Executable

    [System][Dreamhack] PIE - Position-Independent Executable

    PIE(Position-Independent Executable)은 ASLR이 코드 영역에도 적용되게 하는 기술이다. PIC & PIE PIC 리눅스 ELF 파일은 실행파일(Executable)과 공유 오브젝트(Shared Object, so)로 2가지가 존재한다. 공유 오브젝트는 재배치(relocation)가 가능하다. Relocation이 가능하다는 것은 메모리의 어디에 적재되어도 코드의 의미가 훼손되지 않음을 의미한다. 이런 코드를 Position-Independent Code(PIC)라고 부른다. PIC 코드 분석 PIC가 적용된 바이너리와 그렇지 않은 바이너리를 비교하기 위해 아래의 코드를 컴파일하였다. // Name: pic.c // Compile: gcc -o pic pic.c // : gc..