1. PLT PLT란? 외부 프로시저를 연결해주는 테이블. PLT를 통해 다른 라이브러리에 있는 프로시저를 호출해 사용할 수 있다. 2. GOT
calling convention(함수 호출 규약)이란 함수의 호출 및 반환에 대한 약속이다. 호출자(caller) 피호출자(callee)간의 함수의 인자를 전달하는 방식에 대한 규약이다.컴파일러는 지원하는 호출 규약중, CPU 아키택처에 적합한 것을 선택한다.ex)
커널에서 지원하는 보호기법이다.<main> 함수를 제외한 다른 영역의 주소들은 실행할 때마다 변경됨바이너리를 반복해서 실행해도 libc_base 주소 하위 12비트 값과 printf 주소 하위 12비트 값은 변경되지 않음libc_base와 printf의 주소 차이
1. NX란? > No-eXecute(NX)는 실행에 사용되는 메모리 영역과 쓰기에 사용되는 메모리 영역을 분리하는 보호 기법이다. 2. NX의 다양한 명칭 > NX를 인텔은 XD(eXecute Disable), AMD는 NX, 윈도우는 DEP(Data Execut