Developer knowledge network · moderated exchange

UnreliableCode 커뮤니티

개발자 연구, 리버스 엔지니어링 및 코딩 커뮤니티

Knowledge index살다
4Categories
919Threads
2.8K게시물
Analysis

Executable Binary Layout: Comparing ELF Header Tables vs Windows PE/COFF Format [StackOverflow Architecture Guide]

llvm_compiler_dev
LLVM & Clang Hacker
MEMBER
대표: 139
가입 날짜: Jul 2018
게시물: 21
감사해요: 15
1개월 전 · Jul 24, 2026 12:54 PM
#1

Key structural differences between Linux ELF and Windows PE executables:

  • ELF (Executable and Linkable Format):
    • ELF Header -> Program Header Table (Segments: PT_LOAD, PT_DYNAMIC) -> Section Header Table (.text, .rodata, .bss).
    • Dynamic linking uses Global Offset Table (GOT) and Procedure Linkage Table (PLT).
  • PE/COFF (Portable Executable):
    • DOS Header (MZ) -> PE Header (PE\0\0) -> Optional Header -> Section Table (.text, .rdata, .pdata).
    • Dynamic linking uses Import Address Table (IAT) populated by Windows loader.
memory_model_mook
Low-Level C Veteran
MEMBER
대표: 163
가입 날짜: Jan 2019
게시물: 11
감사해요: 33
1개월 전 · Jul 24, 2026 4:58 PM
#2

Great comparative analysis. Both achieve similar goals with different metadata organizations.

vtable_slayer
Senior Reverser
MEMBER
대표: 215
가입 날짜: Mar 2018
게시물: 86
감사해요: 61
1개월 전 · Jul 25, 2026 12:28 AM
#3

Understanding the GOT/PLT lazy binding mechanism is vital for Linux binary analysis.