본문 바로가기

Chapter 9. 실행 압축(Run-Time Packer) I Chapter 9. 실행 압축(Run-Time Packer) I 1. Data Compress - Algorithm에 의해 Data(File)를 더 작은 크기로 변환시키는 Encoding 과정과 저장된 Data(File)를 불러와 다시 원래 상태로 복원시키는 Decoding 기술을 이용해 Data를 더 작은 저장 공간에 효율적으로 기록하기 위한 기술 - 비손실 압축 · 압축한 Data를 100% 원래 상태의 Data(File)로 복원시킬 수 있는 압축 · Data(File)의 크기를 줄여서 보관 및 이동에 효율성을 높일 수 있다. · 비손실 압축 Algorithm ◦ Run-Length ◦ Lempel-Ziv ◦ Huffman - 손실 압축 · 압축한 Data(File)를 복원할 때 원래상태로 복원시킬 .. 더보기
Chapter 8. PE Header III - IAT & EAT Chapter 8. PE Header III - IAT & EAT1. IAT(Import Address Table) - IAT · Windows의 Program이 어떤 Library에서 어떤 함수를 사용하고 있는지를 기술한 Table · PE File 내의 특정 구조체인 'IMAGE_IMPORT_DESCRIPTOR'에 Import에 관한 정보를 저장한다. · PE Header에서 Table은 배열을 의미한다. · 각 Section마다 존재한다. · IAT의 구조체 : IMAGE_IMPORT_DESCRIPTOR ◦ PE File은 자신이 어떤 library에게 함수를 제공(Import)받는지 IMAGE_IMPORT_DESCRIPTOR 구조체에 명시한다. ◦ IMAGE_IMPORT_DESCRIPTOR의 주요.. 더보기
Chapter 7. PE Header II - RVA to RAW Chapter 7. PE Header II - RVA to RAW1. RVA to RAW(Relative Virtual Address to RAW File Offset) - RVA to RAW · Section에서 Memory 주소(RVA)와 File의 Offset(RAW)을 Mapping하는 것 · PE Header를 이용해 Packing과 같은 작업을 진행할 때 내용을 수정 후 RVA와 같은 값이 바뀌면 Mapping을 시켜줘야 한다. · RVA to RAW를 하는 방법 ◦ RVA가 속한 Section 탐색 ◦ 'IMAGE_SECTION_HEADER' 구조체에 의한 비례식을 사용해 File Offset(RAW) 계산 ◦ 비례식 - RVA to RAW 비례식을 이용한 Mapping의 예 · '계산기' .. 더보기