PE2 relocation과 .reloc섹션 틀린 부분이 있다면 언제든지 댓글 남겨주세요! ASLR(Address Space Layout Randomization): 보안 강화를 위해 exe파일이 메모리에 로드될 때 로드 시작 주소 값을 매번 랜덤하게 바꾸는 것(windows vista이후 도입) PE재배치(Relocation): PE파일이 ImageBase에 로딩되지 못하고 다른 주소에 로딩될 때 수행되는 일련의 작업 이 재배치 과정에서 Base Relocation Table이 사용됨 재배치 과정 :하드코딩 된 위치 찾기(Base Relocation Table 이용) > 값에서 ImageBase만큼 빼기(VA→RVA) > 실제 로딩 주소 더하기(RVA→VA) type offset = type + offset 하드코딩 주소 = Virtual Add.. 2021. 8. 28. PE구조 틀린 부분이 있다면 언제든지 댓글 남겨주세요! PE: 32bit 형태의 windows 실행파일 (PE+, PE32+: 64bit) DOS Header 시작부터 64bit가 Image_dos_header [주요 구조체] magic number = 4D 5A (MZ) (맨 처음 2byte) > PE파일 e_lfanew = 00000200 (맨 마지막 4byte) > NT header의 주소 (실질적인 윈도우 헤더 위치) * 주소는 리틀엔디언 방식으로 저장됨 MS-DOS Stub : DOS 운영체제에서 윈도우용 PE파일을 실행한 경우에 보여줄 오류 메시지 저장 윈도우에서 실행하는 경우 실행되지 않는 부분 NT Header : 4바이트의 signature + IMAGE_FILE_HEADER, IMAGE_OPTI.. 2021. 8. 23. 이전 1 다음 728x90 반응형