?إå??ե?????
    <elf.h> ?ϡ?ELF
    ?¹Է????Х??ʥ??ե??????Υե????ޥåȤ????????Ƥ??ޤ???
    ELF
    ?ˤ????̤μ¹Բ?ǽ?ե????롢?????ֲ?ǽ?ʥ??֥??????ȥե????롢
    ?????ե????롢??ͭ?饤?֥??꤬?????ޤ???
ELF
    ?ե??????ե????ޥåȤ??ȤäƤ???
    ?¹Բ?ǽ?ե??????? ELF
    ?إå????????ޤ???
    ?????ơ??ץ????????إå??ơ??֥뤫??
    ???????????إå??ơ??֥롢???뤤?Ϥ???ξ????³???ޤ???
    ELF
    ?إå??ϡ????˥ե??????Υ??ե??å?
    0 ?ˤ????ޤ???
    ?ץ????????إå??ơ??֥???
    ???????????إå??ơ??֥??Υե????????Υ??ե??åȤϡ?
    ELF ?إå????????????Ƥ??ޤ??? 2
    ?ĤΥơ??֥??ϡ??ե?????????ħ?λĤ?????ʬ?Ҥ??ޤ???
?ͥ??ƥ??֥??????ƥ??????? ELF
    ?Х??ʥ??ե??????????????륢?ץꥱ?????????ϡ?
    ???Υ??????????ɤ?
    <elf.h>
    ?롼?ɤ????????Ǥ??ߤޤ???
    ???????Υ??ץꥱ?????????ϡ?????̾
    “Elf_xxx”
    ?ˤ??????????פȹ?¤?Τؤλ??Ȥ??ޤ?ɬ?פ????ꡢ
    “ELF_xxx”
    ?ˤ????ޥ????ؤλ??Ȥ??ޤ?ɬ?פ??????Ǥ??礦??
    ???Τ褦?ˤ??Ƶ??Ҥ??줿???ץꥱ?????????ϡ?
    ?ɤΤ褦?ʥ??????ƥ??????Ǥ??äƤ⡢
    ?ۥ??Ȥ? 32
    ?ӥåȤʤΤ??????뤤?? 64
    ?ӥåȤʤΤ?
    ?Ȥ??????Ȥˤ??ʤ??ǡ??????ѥ?????ǽ?Ǥ???
̤?ΤΥ??????ƥ??????? ELF
    ?ե???????????????ɬ?פ????륢?ץꥱ?????????ϡ?
    <elf.h>
    ?ǤϤʤ???
    <sys/elf32.h> ??
    <sys/elf64.h>
    ??ξ???롼?ɤ???ɬ?פ??????ޤ???
    ?????ˡ????ƤΥ????פȹ?¤?Τϡ?
    “Elf32_xxx” ?? “Elf64_xxx”
    ?ˤ??äƶ??̤???ɬ?פ??????ޤ???
    ?ޥ????ϡ? “ELF32_xxx” ?ޤ???
    “ELF64_xxx”
    ?ˤ??äƶ??̤???ɬ?פ??????ޤ???
?????ƥ??Υ??????ƥ????㤬???Ȥ????Ǥ??äƤ⡢????
    <sys/elf_generic.h>
    ?????Ǥʤ???
    <sys/elf_common.h>
    ?⥤?롼?ɤ??ޤ???
???????Υإå??ե??????Ǥϡ?
    ???Ǹ??ڤ????إå??? C
    ??¤?ΤȤ??Ƶ??Ҥ???
    ?????˲ä???ưŪ????????????
    ?????֥??????????ȥ????ܥ??ơ??֥??Τ????ι?¤?Τ??ޤ??Ǥ??ޤ???
?ʲ??Υ????פ???32
    ?ӥåȥ??????ƥ??????Τ????˻Ȥ????Ƥ??ޤ?:
Elf32_Addr	????̵???ץ??????ॢ?ɥ쥹
Elf32_Half	????̵???ϡ??ե?ɥե???????
Elf32_Off	????̵???ե????륪?ե??å?
Elf32_Sword	?????դ???????
Elf32_Word	?ե??????ɤޤ???????̵????????
Elf32_Size	????̵?????֥??????ȥ?????
 
64
    ?ӥåȥ??????ƥ??????Ѥ˰ʲ??Υ????פ??Ѱդ????Ƥ??ޤ?:
Elf64_Addr	????̵???ץ??????ॢ?ɥ쥹
Elf64_Half	????̵???ϡ??ե?ɥե???????
Elf64_Off	????̵???ե????륪?ե??å?
Elf64_Sword	?????դ???????
Elf64_Word	?ե??????ɤޤ???????̵????????
Elf64_Size	????̵?????֥??????ȥ?????
Elf64_Quarter	????̵????????????ɥե???????
 
ELF
    ?ե??????ե????ޥåȤ????????????ƤΥǡ?????¤?ϡ?
    ??Ϣ???륯?饹?Τ????? “??????”
    ???????ȶ???Ĵ???Υ????ɥ饤???˽??äƤ??ޤ???
    ɬ?פʤ??С??ǡ?????¤?ϡ?4
    ?Х??ȥ??֥??????Ȥ? 4
    ?Х??ȶ????Ȥʤ뤳?Ȥ??ݾڤ??뤿???ˡ?
    ??¤?ΤΥ???????????Ū?? 4
    ???ܿ??ˤ????Ȥ????ä????ʤǡ?
    ????Ū?ʥѥǥ????ޤ??ޤ???
ELF ?إå??ϡ?Elf32_Ehdr ???ޤ???
    Elf64_Ehdr
  ???ˤ??äƵ??Ҥ????Ƥ??ޤ?:
typedef struct {
        unsigned char   e_ident[EI_NIDENT];
        Elf32_Half      e_type;
        Elf32_Half      e_machine;
        Elf32_Word      e_version;
        Elf32_Addr      e_entry;
        Elf32_Off       e_phoff;
        Elf32_Off       e_shoff;
        Elf32_Word      e_flags;
        Elf32_Half      e_ehsize;
        Elf32_Half      e_phentsize;
        Elf32_Half      e_phnum;
        Elf32_Half      e_shentsize;
        Elf32_Half      e_shnum;
        Elf32_Half      e_shstrndx;
} Elf32_Ehdr;
 
typedef struct {
	unsigned char   e_ident[EI_NIDENT];
	Elf64_Quarter   e_type;
	Elf64_Quarter   e_machine;
	Elf64_Half      e_version;
	Elf64_Addr      e_entry;
	Elf64_Off       e_phoff;
	Elf64_Off       e_shoff;
	Elf64_Half      e_flags;
	Elf64_Quarter   e_ehsize;
	Elf64_Quarter   e_phentsize;
	Elf64_Quarter   e_phnum;
	Elf64_Quarter   e_shentsize;
	Elf64_Quarter   e_shnum;
	Elf64_Quarter   e_shstrndx;
} Elf64_Ehdr;
 
?ե??????ɤϡ??ʲ??ΰ?̣?????äƤ??ޤ?:
  - e_ident
- ???ΥХ????????ϥե????????ɤΤ褦?˲??᤹?٤????????ꤷ?ޤ???
      ?????ϡ??ץ????å??ޤ??ϥե??????λĤ??????Ƥ?????Ω???Ƥ??ޤ???
      ?????????????????Ǥϡ?
      EI_
      ?dz??Ϥ????ޥ????ˤ???̾?դ????졢?ޤ???Ƭ??
      ELF
      ???Ĥ????ͤ????????ޤ???
      ?ʲ??Υޥ??????????????Ƥ??ޤ?:
    
    
      - EI_MAG0
- ?ޥ??å??ֹ????? 1 ?ΥХ??ȡ?
          ELFMAG0
          ?Ǥ??뤳?Ȥ?ɬ?פǤ???
- EI_MAG1
- ?ޥ??å??ֹ????? 2 ?ΥХ??ȡ?
          ELFMAG1
          ?Ǥ??뤳?Ȥ?ɬ?פǤ???
- EI_MAG2
- ?ޥ??å??ֹ????? 3 ?ΥХ??ȡ?
          ELFMAG2
          ?Ǥ??뤳?Ȥ?ɬ?פǤ???
- EI_MAG3
- ?ޥ??å??ֹ????? 4 ?ΥХ??ȡ?
          ELFMAG3
          ?Ǥ??뤳?Ȥ?ɬ?פǤ???
- EI_CLASS
- ?? 5
          ?ΥХ??Ȥϡ??????ΥХ??ʥ??ե??????Υ??????ƥ??????????̤??ޤ?:
        
        
          - ELFCLASSNONE
- ???Υ??饹?ϡ??????Ǥ???
- ELFCLASS32
- ?????ϡ?32
              ?ӥåȥ??????ƥ??????????????ޤ???
              ?ե????????֤Ȳ??ۥ??ɥ쥹???֤?
              4 ?????Х??ȤޤǤˤ????ޤ?
              ?ޥ??????б????ޤ???
- ELFCLASS64
- ?????ϡ?64
              ?ӥåȥ??????ƥ??????????????ޤ???
 
- EI_DATA
- ?? 6 ?ΥХ??Ȥϡ?
          ?ե??????Υץ????å???ͭ?ǡ????Υ????ǥ??????ꤷ?ޤ???
          ???ߡ????Υ????ǥ??????ݡ??Ȥ????Ƥ??ޤ?:
        
        
          - ELFDATANONE
- ̤?ΤΥǡ????ե????ޥåȡ?
- ELFDATA2LSB
- 2 ???????????ȥ륨???ǥ???????
- ELFDATA2MSB
- 2 ?????????ӥå??????ǥ???????
 
- EI_VERSION
- ELF ???ͽ??ΥС????????ʥ???:
        
        
          - EV_NONE
- ?????ʥС?????????
- EV_CURRENT
- ???ߤΥС?????????
 
- EI_OSABI
- ???ΥХ??Ȥϡ????֥??????Ȥ??оݤǤ??롢
          ???ڥ졼?ƥ??????ƥ??? ABI
          ?????̤??ޤ??? ¾?? ELF
          ??¤???Υե??????ɤˤϡ?
          ?ץ??åȥե???????¸?ΰ?̣?Τ??Τ??????ޤ???
          ???Τ褦?ʥե??????ɤβ????ϡ????ΥХ??Ȥ??ͤǷ??ꤵ???ޤ???
          ?????ͤ??????????????Ƥ??ޤ?:
        
        
          - ELFOSABI_SYSV
- UNIX System V ABI??
- ELFOSABI_HPUX
- HP-UX ???ڥ졼?ƥ??????ƥ?
            ABI??
- ELFOSABI_NETBSD
- NetBSD
              ???ڥ졼?ƥ??????ƥ? ABI??
- ELFOSABI_LINUX
- GNU/Linux ???ڥ졼?ƥ??????ƥ?
              ABI??
- ELFOSABI_HURD
- GNU/Hurd ???ڥ졼?ƥ??????ƥ?
              ABI??
- ELFOSABI_86OPEN
- 86Open Common IA32 ABI??
- ELFOSABI_SOLARIS
- Solaris ???ڥ졼?ƥ??????ƥ?
            ABI??
- ELFOSABI_MONTEREY
- Monterey ?ץ????????? ABI??
- ELFOSABI_IRIX
- IRIX ???ڥ졼?ƥ??????ƥ?
            ABI??
- ELFOSABI_FREEBSD
- FreeBSD
              ???ڥ졼?ƥ??????ƥ? ABI??
- ELFOSABI_TRU64
- TRU64 UNIX ???ڥ졼?ƥ??????ƥ?
              ABI??
- ELFOSABI_ARM
- ARM ???????ƥ????? ABI??
- ELFOSABI_STANDALONE
- Standalone (?Ȥ߹???) ABI??
 
- EI_ABIVERSION
- ???ΥХ??Ȥϡ????֥??????Ȥ??оݤǤ???
          ABI ?ΥС????????????̤??ޤ???
          ???Υե??????ɤϡ?Ʊ?? ABI
          ?Ǥ⡢
          ?ߴ?????̵??????Ʊ?Τ????̤??뤿???˻??Ѥ????ޤ???
          ?С????????ֹ??β????ϡ?EI_OSABI
          ?ե??????ɤǼ??̤????? ABI
          ?˰?¸???ޤ???
          ???λ??ͤ˽??륢?ץꥱ?????????ϡ???
          0 ?????Ѥ??ޤ???
- EI_PAD
- ?ѥǥ??λϤᡣ
          ???????ΥХ??Ȥϡ?ͽ???Ƥ??ꡢ0
          ?˥??åȤ????ޤ???
          ???????ɤ??ץ????????ϡ???????̵?뤹??ɬ?פ??????ޤ???
          ???衢???ȤäƤ??ʤ??Х??Ȥ˰?̣??Ϳ?????줿???ˤϡ?
          EI_PAD ???ͤ??Ѥ????ޤ???
- EI_BRAND
- ???????ƥ????㼱?̻ҤλϤᡣ
- EI_NIDENT
- e_ident ???????礭????
 
- e_type
- ??¤?ΤΤ??Υ????Фϡ????֥??????ȥե????륿???פ????̤??ޤ?:
    
    
      - ET_NONE
- ̤?ΤΥ????ס?
- ET_REL
- ?????ֲ?ǽ?ʥե????롣
- ET_EXEC
- ?¹Բ?ǽ?ե????롣
- ET_DYN
- ??ͭ???֥??????ȡ?
- ET_CORE
- ?????ե????롣
 
- e_machine
- ???Υ????Фϡ??ġ??Υե???????ɬ?פʥ??????ƥ??????????ꤷ?ޤ?:
    
    
      - EM_NONE
- ̤?ΤΥޥ?????
- EM_M32
- AT&T WE 32100
- EM_SPARC
- Sun Microsystems SPARC.
- EM_386
- Intel 80386.
- EM_68K
- Motorola 68000
- EM_88K
- Motorola 88000
- EM_486
- Intel 80486
- EM_860
- Intel 80860
- EM_MIPS
- MIPS RS3000 (?ӥå??????ǥ??????Τ?)
- EM_MIPS_RS4_BE
- MIPS RS4000 (?ӥå??????ǥ??????Τ?)
- EM_SPARC64
- SPARC v9 64-bit ??????
- EM_PARISC
- HPPA
- EM_PPC
- PowerPC
- EM_ALPHA
- Compaq [DEC] Alpha
 
- e_version
- ???Υ????Фϡ??ե??????С????????????̤??ޤ?:
    
    
      - EV_NONE
- ?????ʥС?????????
- EV_CURRENT
- ???ߤΥС?????????
 
- e_entry
- ???Υ????Фϡ??????ƥब?ǽ??????????ܤ???
      ?Ĥޤ??ץ??????Ϥ??벾?ۥ??ɥ쥹???ޤ???
      ?ե??????˥????ȥ??ݥ????Ȥ??ʤ??ʤ??С????Υ????Ф?
      0 ?ˤʤ??ޤ???
- e_phoff
- ???Υ????Фϡ?
      ?ץ????????إå??ơ??֥??ΥХ???ñ?̤Υե????륪?ե??åȤ??????ޤ???
- e_shoff
- ???Υ????Фϡ?
      ???????????إå??ơ??֥??ΥХ???ñ?̤Υե????륪?ե??åȤ??????ޤ???
      ?ե??????˥??????????إå??ơ??֥뤬?ʤ??ʤ??С????Υ????Ф?
      0 ?ˤʤ??ޤ???
- e_flags
- ???Υ????Фϡ??ե??????˴?Ϣ???롢?ץ????å??˸?ͭ?ʥե饰???????ޤ???
      ?ե饰̾?ϡ?EF_`machine_flag'
      ?Ȥ????????ˤʤ??ޤ???
      ???ߡ????????줿?ե饰?Ϥ????ޤ?????
- e_ehsize
- ???Υ????Фϡ?ELF
      ?إå??ΥХ???ñ?̤??礭?????????ޤ???
- e_phentsize
- ???Υ????Фϡ?
      ?ե??????Υץ????????إå??ơ??֥??ˤ??륨???ȥ?
      1 ??ʬ?Υ????????????ޤ???
      ???ƤΥ????ȥ??ϡ?Ʊ???礭???Ǥ???
- e_phnum
- ???Υ????Фϡ??ץ????????إå??ơ??֥????Υ????ȥ??θĿ????????ޤ???
      ?Ĥޤꡢ e_phentsize ??
      e_phnum
      ???Ѥϡ??ơ??֥??ΥХ???ñ?̤??礭????Ϳ???ޤ???
      ?ե??????˥ץ????????إå????ʤ??ʤ??С?
      e_phnum ???ͤ? 0
    ?ˤʤ??ޤ???
- e_shentsize
- ???Υ????Фϡ????????????إå??ΥХ???ñ?̤??礭?????????ޤ???
      ???????????إå??ϡ?
      ???????????إå??ơ??֥??????? 1
      ?ĤΥ????ȥ??Ǥ?;
      ???ƤΥ????ȥ??ϡ?Ʊ???礭???Ǥ???
- e_shnum
- ???Υ????Фϡ????????????إå??ơ??֥????Υ????ȥ??θĿ????????ޤ???
      ?Ĥޤꡢ e_shentsize ??
      e_shnum
      ???Ѥϡ????????????إå??ơ??֥??ΥХ???ñ?̤??礭????Ϳ???ޤ???
      ?ե??????˥??????????إå??ơ??֥뤬?ʤ??ʤ??С?
      e_shnum ???ͤ? 0
    ?ˤʤ??ޤ???
- e_shstrndx
- ???Υ????Фϡ?
      ???????????إå??ơ??֥??Ρ?
      ??????????̾ʸ?????ơ??֥??˷??ӤĤ????줿?????ȥ??ؤ?
      ?????ǥå??????????ޤ???
      ?ե??????˥?????????̾ʸ?????ơ??֥뤬?ʤ??ʤ??С?
      ???Υ????Ф??? SHN_UNDEF
    ???????ޤ???
 
?¹Բ?ǽ?ե??????ޤ??϶?ͭ???֥??????ȥե??????Υץ????????إå??ơ??֥??ϡ?
    ??¤?Τ??????Ǥ??? ?ƹ?¤?Τϡ?
    ?ץ????????¹Ԥ˥????ƥबɬ?פȤ??롢?????????????ξ????Ҥ??ޤ???
    ???֥??????ȥե??????? ??????????
    ?ϡ?1 ?İʾ??? ??????????
    ???ޤߤޤ??? ?ץ????????إå??ϡ?
    ?¹Բ?ǽ?ե??????ȶ?ͭ???֥??????ȥե??????????ǰ?̣???????ޤ???
    ?ե??????ϡ?ELF ?إå???
    e_phentsize ?? e_phnum
    ?????ФǤ??켫?ȤΥץ????????إå????????????ꤷ?ޤ???
    ELF
    ?¹Է????Υإå???Ʊ?ͤˡ?
    ?ץ????????إå??⥢?????ƥ??????˽????ۤʤ??С??????????????ޤ?:
typedef struct {
        Elf32_Word      p_type;
        Elf32_Off       p_offset;
        Elf32_Addr      p_vaddr;
        Elf32_Addr      p_paddr;
        Elf32_Size      p_filesz;
        Elf32_Size      p_memsz;
        Elf32_Word      p_flags;
        Elf32_Size      p_align;
} Elf32_Phdr;
 
typedef struct {
        Elf64_Half      p_type;
        Elf64_Half      p_flags;
        Elf64_Off       p_offset;
        Elf64_Addr      p_vaddr;
        Elf64_Addr      p_paddr;
        Elf64_Size      p_filesz;
        Elf64_Size      p_memsz;
        Elf64_Size      p_align;
} Elf64_Phdr;
 
32 ?ӥåȤ? 64
    ?ӥåȤΥץ????????إå??δ֤μ??ʺ??ϡ?
    ??¤?????? p_flags
    ?????Фΰ??֤????Ǥ???
  - p_type
- ??¤?? Phdr
      ?Τ??Υ????Фϡ????????????Ǥ????Ҥ??Ƥ??륻???????Ȥμ???????
      ?ɤΤ褦?????????Ǥ????᤹?٤??????ޤ???
    
    
      - PT_NULL
- ???????????ǤϻȤäƤ??ޤ??ޤ???¾?Υ????Ф??ͤ?̤?????Ǥ???
          ?????ˤ??ꡢ?ץ????????إå?????̵?뤵???륨???ȥ??????Ƥޤ???
- PT_LOAD
- ???????????Ǥϡ??????ɲ?ǽ?ʥ????????Ȥ????ꤷ?ޤ???
          ?????? p_filesz ?? p_memsz
          ?ǵ??Ҥ????ޤ???
          ?ե????뤫???ΥХ??Ȥϡ??????ꥻ???????Ȥ???Ƭ?˥ޥåפ????ޤ???
          ?????????ȤΥ????ꥵ???? (p_memsz)
          ???ե????륵???? (p_filesz)
          ?????礭???ʤ??С? “;ʬ??”
          ?Х??Ȥϡ??? 0 ?????äơ?
          ?????????Ȥν????????줿?ΰ???³?????Τ??????????ޤ???
          ?ե????륵?????ϡ??????ꥵ???????ۤ??ƤϤʤ??ޤ?????
          ?ץ????????إå??ơ??֥??????Υ????ɲ?ǽ??
          ?????????ȥ????ȥ??ϡ??????Ǹ????ޤ???
          ?????ơ? p_vaddr
          ?????Фǥ????Ȥ????ޤ???
- PT_DYNAMIC
- ???????????Ǥϡ?ưŪ???????????ꤷ?ޤ???
- PT_INTERP
- ???????????Ǥϡ?
          ???ץ?Ȥ??Ƶ?ư?????̥?ʸ???ǽ??????ѥ?̾?ξ??????礭???????ꤷ?ޤ???
          ???Υ????????ȥ????פϡ??¹Բ?ǽ?ե??????Τߤǰ?̣???????ޤ?
          (?ܥ????????ȥ????פϡ???ͭ???֥??????????ˤ??뤫?⤷???ޤ???)??
          ?ܥ????????Ȥϡ??ե?????????ʣ????¸?ߤ??ƤϤʤ??ޤ?????
          ¸?ߤ??????硢
          ???????ɲ?ǽ?????????ȥ????ȥ??????Ԥ???ɬ?פ??????ޤ???
- PT_NOTE
- ???????????Ǥϡ??????????Τ????˾??????礭???????ꤷ?ޤ???
- PT_SHLIB
- ???Υ????????ȥ????פϡ?
          ͽ???Ƥ??ꡢ?????????Ƥ??ʤ????ޥ??ƥ????????????ޤ???
          ???Υ????פ????????Ǥ??ޤ??ץ????????ϡ?ABI
          ?˽????ޤ?????
- PT_PHDR
- ???????????Ǥ?¸?ߤ??????硢
          ?ե????????ȥ????ꥤ??????ˤ????롢
          ?ץ????????إå??ơ??֥뼫?Ȥΰ??֤??礭???????ꤷ?ޤ???
          ?ܥ????????ȥ????פϡ??ե?????????ʣ????¸?ߤ??ƤϤʤ??ޤ?????
          ?????ˡ?
          ?ץ????????إå??ơ??֥뤬?ץ????????Υ????ꥤ????˴ޤޤ????????Τߡ?
          ¸?ߤ????????ޤ??? ¸?ߤ??????硢
          ???????ɲ?ǽ?????????ȥ????ȥ??????Ԥ???ɬ?פ??????ޤ???
- PT_LOPROC
- ?????ͤ??? PT_HIPROC
          ?ʲ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- PT_HIPROC
- ?????ͤ??? PT_LOPROC
          ?ʾ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
 
- p_offset
- ???Υ????Фϡ??????????Ȥκǽ??ΥХ??ȤؤΡ?
      ?ե???????Ƭ?????Υ??ե??åȤ??????ޤ???
- p_vaddr
- ???Υ????Фϡ?
      ?????????Ȥκǽ??ΥХ??Ȥ?????????¸?ߤ??벾?ۥ??ɥ쥹???????ޤ???
- p_paddr
- ʪ?????ɥ??å??Υ????ƥ????Ǥϡ?
      ???Υ????Фϡ??????????Ȥ?ʪ?????ɥ쥹?Τ?????ͽ???Ƥ??ޤ???
      BSD
      ?Ǥϡ??ܥ????ФϻȤ??줺??0
      ?Ǥ???ɬ?פ??????ޤ???
- p_filesz
- ???Υ????Фϡ??????????ȤΥե????륤????ΥХ??ȿ????????ޤ???
      0 ?Ǥ??뤫?⤷???ޤ?????
- p_memsz
- ???Υ????Фϡ??????????ȤΥ????ꥤ????ΥХ??ȿ????????ޤ???
      0 ?Ǥ??뤫?⤷???ޤ?????
- p_flags
- ???Υ????Фϡ??????????Ȥ˴ؤ????ե饰???????ޤ???
    
    
      - PF_X
- ?¹Բ?ǽ?????????ȡ?
- PF_W
- ???߲?ǽ?ʥ????????ȡ?
- PF_R
- ?ɤ?????ǽ?ʥ????????ȡ?
 ?ƥ????ȥ????????Ȥϡ????̤˥ե饰
        PF_X ?? PF_R ???????ޤ???
        ?ǡ????????????Ȥϡ????̤?
        PF_X, PF_W ?? PF_R
        ???????ޤ??? 
- p_align
- ???Υ????Фϡ????????椪???ӥե????????ǥ????????Ȥ????٤??ͤ??????ޤ???
      ?????ɲ?ǽ?ʥץ??????ϡ?
      p_vaddr ?? p_offset
      ???ڡ??????????dz??ä?;????Ŭ?礹???ͤ?????ɬ?פ??????ޤ???
      0 ?? 1
      ???ͤϡ?????Ĵ???????פǤ??뤳?Ȥ???̣???ޤ???
      ?????Ǥʤ????硢 p_align ?ϡ???
      (2 ????????) ?Ǥ???ɬ?פ??????ޤ????????ơ?
      p_vaddr ?? p_offset ??
      p_align
      ?dz??ä?;??????????ɬ?פ??????ޤ???
 
?ե??????Υ??????????إå??ơ??֥??ϡ?
    ???ƤΥե??????Υ??????????ΰ??ַ???????ǽ?Ȥ??ޤ???
    ???????????إå??ơ??֥??ϡ?Elf32_Shdr
    ?ޤ??? Elf64_Shdr ??¤?Τ??????Ǥ??? ELF
    ?إå??? e_shoff ?????Фϡ?
    ???????????إå??ơ??֥??Ρ??ե???????Ƭ?????ΥХ??ȥ??ե??åȤ?Ϳ???ޤ???
    e_shnum
    ?ϡ????????????إå??ơ??֥??Υ????ȥ??????????ޤ???
    e_shentsize
    ?ϡ??ƥ????ȥ????礭?????Х??Ȥǻ????ޤ???
???????????إå??ơ??֥륤???ǥå????ϡ???????????ź???Ǥ???
    ???????????إå??ơ??֥륤???ǥå????ˤϡ?ͽ???Τ??Τ??????ޤ???
    ???֥??????ȥե??????ˤϡ????????̤ʥ????ǥå????ˤϥ????????????ޤ???:
  - SHN_UNDEF
- ?????ͤϡ?̤????????¸?ߤ??ʤ?????̵?ط??Ǥ??뤫??
      ??̣???ʤ??????????Ȥ??ޤ???
      ?㤨?С????????????ֹ? SHN_UNDEF
      ?????????Ф? “????”
      ?????륷???ܥ??ϡ?̤?????Υ????ܥ??Ǥ???
- SHN_LORESERVE
- ?????ͤϡ?ͽ???Υ????ǥå??????ϰϤβ??¤????ꤷ?ޤ???
- SHN_LOPROC
- ?????ͤ??? SHN_HIPROC
      ?ʲ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- SHN_HIPROC
- ?????ͤ??? SHN_LOPROC
      ?ʾ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- SHN_ABS
- ?????ͤϡ??б????뻲?Ȥ??????ͤǤ??뤳?Ȥ????ꤷ?ޤ???
      ?㤨?С????????????ֹ? SHN_ABS
      ?????????Ф??????????륷???ܥ??ϡ?????Ū?ʿ??ͤ???????
      ?????֤ˤ??äƱƶ????????ޤ?????
- SHN_COMMON
- ???Υ??????????????Ф??????????륷???ܥ??ϡ????̥????ܥ??Ǥ??ꡢ
      Fortran ?? COMMON ???ΰ褬???ݤ????Ƥ??ʤ? C
      ?γ????ѿ??????????ޤ???
- SHN_HIRESERVE
- ?????ͤϡ?ͽ???ǥå????ϰϤξ??¤????ꤷ?ޤ???
      ?????ϰϤϡ? SHN_LORESERVE ??
      SHN_HIRESERVE
      ?δ֤Ǥ??ꡢξü???ޤߤޤ???
      ???????????إå??ơ??֥??ϡ?ͽ???Υ????ǥå????Τ????˥????ȥ????ޤߤޤ?????
???????????إå??ϡ??ʲ??ι?¤?Τ??????ޤ?:
typedef struct {
	Elf32_Word      sh_name;
	Elf32_Word      sh_type;
	Elf32_Word      sh_flags;
	Elf32_Addr      sh_addr;
	Elf32_Off       sh_offset;
	Elf32_Size      sh_size;
	Elf32_Word      sh_link;
	Elf32_Word      sh_info;
	Elf32_Size      sh_addralign;
	Elf32_Size      sh_entsize;
} Elf32_Shdr;
 
typedef struct {
	Elf64_Half      sh_name;
	Elf64_Half      sh_type;
	Elf64_Size      sh_flags;
	Elf64_Addr      sh_addr;
	Elf64_Off       sh_offset;
	Elf64_Size      sh_size;
	Elf64_Half      sh_link;
	Elf64_Half      sh_info;
	Elf64_Size      sh_addralign;
	Elf64_Size      sh_entsize;
} Elf64_Shdr;
 
  - sh_name
- ???Υ????Фϡ?????????????̾???????ꤷ?ޤ???
      ?????ͤϡ????????????إå?ʸ?????ơ??֥륻?????????ؤ?
      ?????ǥå????Ǥ??ꡢ?̥?ʸ???ǽ?????ʸ?????ξ?????Ϳ???ޤ???
- sh_type
- ???Υ????Фϡ????????????????Ƥȥ??ޥ??ƥ???????ʬ?ष?ޤ???
    
    
      - SHT_NULL
- ?????ͤϡ????????????إå????Գ????Ǥ??뤳?Ȥ??ޤ???
          ??Ϣ?Ť????줿?????????????????ޤ?????
          ???????????إå???¾?Υ????Фϡ?̤?????ͤ??????ޤ???
- SHT_PROGBITS
- ???Υ??????????ϡ??ץ????????ˤ??ä??????????????????????ޤ???
          ?ե????ޥåȤȰ?̣?ϡ??ץ????????????ˤ??äƤΤ߷??ꤵ???ޤ???
- SHT_SYMTAB
- ???Υ??????????ϡ??????ܥ??ơ??֥????????ޤ???
          ????Ū?ˡ? SHT_SYMTAB
          ?ϥ????ǥ??åȤΤ????Υ????ܥ??????ޤ???
          ?????Ϥޤ???ưŪ???ˤ????Ѳ?ǽ?Ǥ???
          ?????ϴ????ʥ????ܥ??ơ??֥??Ǥ??뤿?ᡢ
          ưŪ???Τ????ˤ???ɬ?פ?¿???Υ????ܥ????ޤ????礬?????ޤ???
          ???֥??????ȥե??????ϡ?
          SHN_DYNSYM
          ?????????????ޤळ?Ȥ??Ǥ??ޤ???
- SHT_STRTAB
- ???Υ??????????ϡ?ʸ?????ơ??֥????????ޤ???
          ???֥??????ȥե??????ϡ?ʣ????ʸ?????ơ??֥륻?????????????????ޤ???
- SHT_RELA
- ???Υ??????????ϡ?????Ū?ʲÿ??????ġ??????֥????ȥ????????ޤ???
          ?㤨?С????֥??????ȥե??????? 32
          ?ӥåȥ??饹?Υ?????
          Elf32_Rela
          ?????????ޤ???
          ???֥??????Ȥϡ?ʣ???κ????֥??????????????????ޤ???
- SHT_HASH
- ???Υ??????????ϡ??????ܥ??ϥå????ơ??֥????????ޤ???
          ưŪ???˴?Ϣ?????????֥??????Ȥϡ?
          ?????ܥ??ϥå????ơ??֥????ޤ?ɬ?פ??????ޤ???
          ???֥??????ȥե??????ϡ?ñ???Υϥå????ơ??֥??Τߤ????????ޤ???
- SHT_DYNAMIC
- ???Υ??????????ϡ?ưŪ???Τ????˾??????????ޤ???
          ???֥??????ȥե??????ϡ?ñ????ưŪ???????????Τߤ????????ޤ???
- SHT_NOTE
- ???Υ??????????ϡ??????Ф???????ˡ?ǥե??????˰??????????????ޤ???
- SHT_NOBITS
- ???Υ????פΥ??????????ϡ??ե????????ζ??֤???ͭ???ޤ???
          SHN_PROGBITS
          ?˻??Ƥ??ޤ???
          ???Υ??????????ϥХ??Ȥ??ޤߤޤ???
          sh_offset
          ?????Фϳ?ǰ???Υե????륪?ե??åȤ??ޤߤޤ???
- SHT_REL
- ???Υ??????????ϡ?????Ū?ʲÿ?̵???κ????֥??ե??åȤ??????ޤ???
          ?㤨?С????֥??????ȥե??????? 32
          ?ӥåȥ??饹?Υ?????
          Elf32_Rel
          ?????????ޤ???
          ???֥??????ȥե??????ϡ?ʣ???κ????֥??????????????????ޤ???
- SHT_SHLIB
- ???Υ??????????ϡ?ͽ???Ƥ??ꡢ?????????Ƥ??ʤ????ޥ??ƥ????????????ޤ???
- SHT_DYNSYM
- ???Υ??????????ϡ?ưŪ???????ܥ??κǾ??Υ??åȤ??????ޤ???
          ???֥??????ȥե??????ϡ?
          SHN_SYMTAB
          ?????????????ޤळ?Ȥ??Ǥ??ޤ???
- SHT_LOPROC
- ?????ͤ??? SHT_HIPROC
          ?ʲ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- SHT_HIPROC
- ?????ͤ??? SHT_LOPROC
          ?ʾ??ϡ??ץ????å???ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- SHT_LOUSER
- ?????ͤϡ????ץꥱ?????????ץ????????Τ?????ͽ???Ƥ???
          ?????ǥå????ϰϤβ??¤????ꤷ?ޤ???
- SHT_HIUSER
- ?????ͤϡ????ץꥱ?????????ץ????????Τ?????ͽ???Ƥ???
          ?????ǥå????ϰϤξ??¤????ꤷ?ޤ???
          SHT_LOUSER ?? SHT_HIUSER
          ?δ֤Υ??????????פϡ?
          ???ץꥱ?????????ˤ??äƻ??Ѳ?ǽ?Ǥ??ꡢ
          ???ߤޤ??Ͼ????Υ????ƥ????????????????פȾ??ͤ??ޤ?????
 
- sh_flags
- ???????????ϡ???¿??°???Ҥ??? 1
      ?ӥåȥե饰?ݡ??Ȥ??ޤ???
      ?ե饰?ӥåȤ? sh_flags
      ?ǥ??åȤ??????ʤ??С????Υ???????????°????
      “????” ?ˤʤ??ޤ???
      ?????Ǥʤ????С?°???? “????”
      ?Ǥ??뤫?????ƤϤޤ??ޤ?????
      ̤????°???ϡ?0
      ?˥??åȤ????ޤ???
    
    
      - SHF_WRITE
- ???????????ϡ??ץ??????¹Ԥδ֡????߲?ǽ?Ǥ????٤??ǡ??????ޤߤޤ???
- SHF_ALLOC
- ???????????ϡ??ץ??????¹Ԥδ֡???????????ͭ???ޤ???
          ???楻?????????ˤϡ?
          ???֥??????ȥե??????Υ????ꥤ?????¸?ߤ??ʤ????Τ??????ޤ???
          ???Τ褦?ʥ??????????Ǥϡ?????°???ϥ??դǤ???
- SHF_EXECINSTR
- ???????????ϡ??¹Բ?ǽ?ʵ?????̿?????ޤߤޤ???
- SHF_MASKPROC
- ???Υޥ????Ǵޤޤ??????ƤΥӥåȤϡ?
          ?ץ????å???ͭ?Υ??ޥ??ƥ??????Τ????˳??ݤ????ޤ???
 
- sh_addr
- ?????????ץ??????Υ????ꥤ????˸????????硢
      ???Υ????Фϡ????????????κǽ??ΥХ??Ȥ?¸?ߤ??륢?ɥ쥹???????ޤ???
      ?????Ǥʤ????硢???Υ????Ф? 0
      ???ޤߤޤ???
- sh_offset
- ???Υ??????ͤϡ?
      ???Υ??????????Ρ??ե???????Ƭ?????ΥХ??ȥ??ե??åȤ?Ϳ???ޤ???
      1 ?ĤΥ??????????ס????ʤ???
      SHT_NOBITS
      ?ϡ??ե????????ζ??֤???ͭ?????? ????
      sh_offset
      ?????Фϡ??ե????????γ?ǰ???ΰ??֤????ꤷ?ޤ???
- sh_size
- ???Υ????Фϡ????????????ΥХ??ȤǤ??礭?????????ޤ???
      ???????????פ? SHT_NOBITS
      ?Ǥʤ??¤ꡢ???????????ϥե?????????
      sh_size ?Х??Ȥ???ͭ???ޤ???
      ?????? SHT_NOBITS ?Υ??????????? 0
      ?ʳ????礭???????????ޤ?????
      ?ե????????ζ??֤???ͭ???ޤ?????
- sh_link
- ???Υ????Фϡ?
      ???????????إå??ơ??֥륤???ǥå????????????ޤ???
      ???β????ϡ????????????װ?¸?Ǥ???
- sh_info
- ???Υ????Фϡ? ?ɲþ??????????ޤ???
      ???β????ϡ????????????װ?¸?Ǥ???
- sh_addralign
- ?㴳?Υ??????????ˤϡ????ɥ쥹?????????????ޤ???
      ???????????֥???ɤ????Ĥʤ??С?
      ?????ƥ??ϥ??֥???ɶ?????
      ?????????????Τ??ݾڤ???ɬ?פ??????ޤ???
      sh_addr ???ͤϡ?
      sh_addralign ?dz??ä??ͤ? 0
      ?Ȥʤ뤳?Ȥ?ɬ?פǤ??? 0 ?????? 2
      ??沾??????????????ޤ???0 ?ޤ??? 1 ???ͤϡ?
      ???????????ˤ϶????????ʤ????Ȥ???̣???ޤ???
- sh_entsize
- ?㴳?Υ??????????ϡ?
      ????Ĺ?????ȥ??Υơ??֥????????ޤ???
      ?㤨?Х????ܥ??ơ??֥뤬?????˳??????ޤ???
      ???Τ褦?ʥ??????????Τ????ˡ?
      ???Υ????Фϡ??ƥ????ȥ??ΥХ??ȤǤ??礭????Ϳ???ޤ???
      ???????????ꥵ?????Υ????ȥ??Υơ??֥????????ʤ??ʤ??С?
      ???Υ????Ф? 0 ???ޤߤޤ???
?͡??ʥ??????????ץ????????????????????????ޤ?:
  - .bss
- ???Υ??????????Ͻ??????????ʤ??ǡ???????????
      ?ץ????????Υ????ꥤ????ˤʤ??ޤ???
      ?????Ǥϡ?
      ?ץ??????೫?ϻ??˥????ƥब?ǡ?????
      0 ?????????ޤ??? ???Υ??????????ϡ???????
      SHT_NOBITS ?Ǥ??? °???????פϡ?
      SHF_ALLOC ?? SHF_WRITE
    ?Ǥ???
- .comment
- ???Υ??????????ϡ??С??????????????????????ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? °???????פϻȤ????ޤ?????
- .data
- ???Υ??????????Ͻ????????줿?ǡ???????????
      ?ץ????????Υ????ꥤ????ˤʤ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? °???????פϡ? SHF_ALLOC
      ?? SHF_WRITE ?Ǥ???
- .data1
- ???Υ??????????Ͻ????????줿?ǡ???????????
      ?ץ????????Υ????ꥤ????ˤʤ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? °???????פϡ? SHF_ALLOC
      ?? SHF_WRITE ?Ǥ???
- .debug
- ???Υ??????????ϡ??????ܥ??å??ǥХå??Τ????ξ??????????ޤ???
      ???Ƥϡ??????????Ƥ??ޤ?????
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? °???????פϻȤ????ޤ?????
- .dynamic
- ???Υ??????????ϡ?ưŪ?????????????ޤ???
      ????????????°???ϡ? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      SHF_WRITE
      ?ӥåȤ????åȤ????뤫?ݤ??ϡ??ץ????å???¸?Ǥ???
      ???Υ??????????ϡ??????? SHT_DYNAMIC
      ?Ǥ??? ????°???Ƥ?????????
- .dynstr
- ???Υ??????????ϡ?ưŪ???Τ?????ɬ?פȤ?????ʸ???????????ޤ???
      ?????ư??̤ˤϡ?̾????ɽ??????ʸ?????Ǥ??ꡢ
      ?????ܥ??ơ??֥륨???ȥ??ȷ????դ??????Ƥ??ޤ???
      ???Υ??????????ϡ??????? SHT_STRTAB
      ?Ǥ??? ?Ȥ?????°???????פϡ?
      SHF_ALLOC ?Ǥ???
- .dynsym
- ???Υ??????????ϡ?ưŪ???????ܥ??ơ??֥????????ޤ???
      ???Υ??????????ϡ??????? SHT_DYNSYM
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?Ǥ???
- .fini
- ???Υ??????????ϡ??ץ???????λ?????ɤμ¹Բ?ǽ̿?????????ޤ???
      ?ץ????????????ェλ???ˡ?
      ?????ƥ??Ϥ??Υ??????????Υ????ɤ??¹Ԥ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?? SHF_EXECINSTR
      ?Ǥ???
- .got
- ???Υ??????????ϡ????????Х륪?ե??åȥơ??֥????????ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ???
      °???ϡ??ץ????å???¸?Ǥ???
- .hash
- ???Υ??????????ϡ??????ܥ??ϥå????ơ??֥????????ޤ???
      ???Υ??????????ϡ??????? SHT_HASH
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?Ǥ???
- .init
- ???Υ??????????ϡ??ץ????????????????ɤμ¹Բ?ǽ̿?????????ޤ???
      ?ץ????????¹Գ??ϻ??ˡ?
      ?ᥤ???ץ??????२???ȥ??ݥ????Ȥ??ƤӽФ????ˡ?
      ?????ƥ??Ϥ??Υ??????????Υ????ɤ??¹Ԥ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?? SHF_EXECINSTR
      ?Ǥ???
- .interp
- ???Υ??????????ϡ??ץ??????।?ץ?Υѥ?̾???????ޤ???
      ?ե????뤬???Υ????????????ޤ??????ɲ?ǽ?ʥ????????Ȥ????Ĥʤ??С?
      ????????????°???? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      ?????Ǥʤ????硢???ΥӥåȤϥ??դǤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ???
- .line
- ???Υ??????????ϥ????ܥ??å??ǥХå??Τ????˹??ֹ????????????ޤ???
      ?????ϡ??ץ??????ॽ?????ȥޥ????ɤδ֤δط??Ҥ??ޤ???
      ???Ƥϡ??????????Ƥ??ޤ?????
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? °???????פϻȤ????ޤ?????
- .note
- ???Υ??????????ϡ????ǵ??Ҥ????? “Note
      Section”
      ?ե????ޥåȤǡ????????????ޤ???
      ???Υ??????????ϡ??????? SHT_NOTE
      ?Ǥ??? °???????פϻȤ????ޤ?????
- .plt
- ???Υ??????????ϡ??ץ????????????????ơ??֥????????ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ???
      °???ϥץ????å???¸?Ǥ???
- .relNAME
- ???Υ??????????ϡ??????Τ褦?˺????־??????????ޤ???
      ?ե????뤬?????֤??ޤ??????ɲ?ǽ?ʥ????????Ȥ????Ĥʤ??С?
      ????????????°???? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      ?????Ǥʤ????硢???ΥӥåȤϥ??դǤ???
      ?????ˤ??ꡢ?????֤????륻????????
      “NAME” ??Ϳ???????ޤ??? .text
      ?Τ????κ????֥??????????ϡ??̾?̾??
      .rel.text
      ???????ޤ??? ???Υ??????????ϡ???????
      SHT_REL ?Ǥ???
- .relaNAME
- ???Υ??????????ϡ??????Τ褦?˺????־??????????ޤ???
      ?ե????뤬?????֤??ޤ??????ɲ?ǽ?ʥ????????Ȥ????Ĥʤ??С?
      ????????????°???? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      ?????Ǥʤ????硢???ΥӥåȤϥ??դǤ???
      ?????ˤ??ꡢ?????֤????륻????????
      “NAME” ??Ϳ???????ޤ??? .text
      ?Τ????κ????֥??????????ϡ??̾?̾??
      .rela.text
      ???????ޤ??? ???Υ??????????ϡ???????
      SHT_RELA ?Ǥ???
- .rodata
- ???Υ????????????ɤ??????ѥǡ???????????
      ŵ??Ū?ˤϥץ???????????ν????Բĥ????????Ȥˤʤ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?Ǥ???
- .rodata1
- ???Υ????????????ɤ??????ѥǡ???????????
      ŵ??Ū?ˤϥץ???????????ν????Բĥ????????Ȥˤʤ??ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?Ǥ???
- .shstrtab
- ???Υ??????????ϥ?????????̾???????ޤ???
      ???Υ??????????ϡ??????? SHT_STRTAB
      ?Ǥ??? °???????פϻȤ????ޤ?????
- .strtab
- ???Υ???????????ʸ???????????ޤ???
      ????Ū?ˤ?̾????ɽ??????ʸ?????Ǥ??ꡢ
      ?????ܥ??ơ??֥륨???ȥ??ȷ????դ??????Ƥ??ޤ???
      ?ե????뤬?????ܥ?ʸ?????ơ??֥????ޤ??????ɲ?ǽ?ʥ????????Ȥ????Ĥʤ??С?
      ????????????°???? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      ?????Ǥʤ????硢???ΥӥåȤϥ??դǤ???
      ???Υ??????????ϡ??????? SHT_STRTAB
      ?Ǥ???
- .symtab
- ???Υ??????????ϡ??????ܥ??ơ??֥????????ޤ???
      ?ե????뤬?????ܥ??ơ??֥????ޤ??????ɲ?ǽ?ʥ????????Ȥ????Ĥʤ??С?
      ????????????°???? SHF_ALLOC
      ?ӥåȤ??ޤߤޤ???
      ?????Ǥʤ????硢???ΥӥåȤϥ??դǤ???
      ???Υ??????????ϡ??????? SHT_SYMTAB
      ?Ǥ???
- .text
- ???Υ??????????ϡ??ץ?????????
      “?ƥ?????”
      ?????ʤ????¹Բ?ǽ̿?????????ޤ???
      ???Υ??????????ϡ??????? SHT_PROGBITS
      ?Ǥ??? ?Ȥ?????°???ϡ?
      SHF_ALLOC ?? SHF_EXECINSTR
      ?Ǥ???
- .jcr
- ???Υ??????????ϡ???Ͽ??????ɬ?פ????? Java
      ???饹?ξ??????????ޤ???
- .eh_frame
- ???Υ??????????ϡ?C++
      ?㳰?????˻??Ѥ????????????????ޤ???
ʸ?????ơ??֥륻?????????ϡ??̥?ʸ???ǽ?????ʸ?????????????????ޤ???
    ???????ϡ????̤?ʸ?????ȸƤФ??ޤ???
    ???֥??????ȥե??????ϡ?
    ?????ܥ??ȥ?????????̾??ɽ?????뤿???ˤ???????ʸ???????Ȥ??ޤ???
    ʸ?????ơ??֥륻?????????Υ????ǥå????Ȥ??ơ?ʸ?????Ȥ??ޤ???
    ?ǽ??ΥХ??? (?????ǥå??? 0) ?ϡ?
    ñ???Υ̥?ʸ???????Ĥ??????????ޤ???
    Ʊ?ͤˡ?ʸ?????ơ??֥??κǽ??Х??Ȥϥ̥?ʸ???Ǥ??????????????Τǡ?
    ʸ???????Τ??ʥ뽪ü?????Ƥ??뤳?Ȥ??ݾڤ??ޤ???
???֥??????ȥե??????Υ????ܥ??ơ??֥??ϡ?
    ?ץ????????Υ????ܥ??????Ȼ??Ȥΰ??ַ?????ɬ?פʾ??????ݻ????ޤ???
    ?????ܥ??ơ??֥륤???ǥå????ϡ???????????ź???Ǥ???
typedef struct {
	Elf32_Word      st_name;
	Elf32_Addr      st_value;
	Elf32_Size      st_size;
	unsigned char   st_info;
	unsigned char   st_other;
	Elf32_Half      st_shndx;
} Elf32_Sym;
 
typedef struct {
	Elf64_Half      st_name;
	unsigned char   st_info;
	unsigned char   st_other;
	Elf64_Quarter   st_shndx;
	Elf64_Addr      st_value;
	Elf64_Size      st_size;
} Elf64_Sym;
 
  - st_name
- ???Υ????Фϡ????֥??????ȥե???????
      ?????ܥ?ʸ?????ơ??֥??ؤΥ????ǥå??????????ޤ???
      ?????ܥ?ʸ?????ơ??֥??ϡ??????ܥ?̾??ʸ??ɽ?????????ޤ???
      ?ͤ? 0 ?ʳ??Ǥ????ʤ??С?
      ?????ϥ????ܥ?̾??Ϳ????ʸ?????ơ??֥륤???ǥå??????ޤ???
      ?????Ǥʤ????硢?????ܥ??ơ??֥??ˤ?̾?????????ޤ?????
- st_value
- ???Υ????Фϡ???Ϣ?????????ܥ????ͤ?Ϳ???ޤ???
- st_size
- ¿???Υ????ܥ??ϡ???Ϣ?????礭?????????ޤ???
      ?????ܥ??ˤ??礭????̵????̤?ΤǤ??????硢???Υ????Ф?
      0 ?Ǥ???
- st_info
- ???Υ????Фϡ??????ܥ??Υ????פ?«??°???????ꤷ?ޤ?:
    
    
      - STT_NOTYPE
- ?????ܥ??Υ????פϡ??????????ޤ?????
- STT_OBJECT
- ?????ܥ??ϡ??ǡ??????֥??????Ȥȷ????դ??????Ƥ??ޤ???
- STT_FUNC
- ?????ܥ??ϡ??ؿ??ޤ???¾?μ¹Բ?ǽ?????ɤȷ????դ??????Ƥ??ޤ???
- STT_SECTION
- ?????ܥ??ϡ????????????ȷ????դ??????Ƥ??ޤ???
          ???Υ????פΥ????ܥ??ơ??֥륨???ȥ??ϡ?
          ???˺????֤Τ?????¸?ߤ??ơ??̾?
          STB_LOCAL «?????????ޤ???
- STT_FILE
- ?????ˤ??ꡢ?????ܥ???̾???ϡ?
          ???֥??????ȥե??????ȴ?Ϣ???륽?????ե???????̾????Ϳ???ޤ???
          ¸?ߤ??????硢?ե????륷???ܥ???
          STB_LOCAL
          «?????????????Υ??????????ǥå?????
          SHN_ABS ?Ǥ??ꡢ
          ?????ϥե???????¾?? STB_LOCAL
          ?????ܥ??????Ԥ??ޤ???
- STT_LOPROC
- ?????ͤ??? STT_HIPROC
          ?ʲ??ϡ??ץ????å??˸?ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- STT_HIPROC
- ?????ͤ??? STT_LOPROC
          ?ʾ??ϡ??ץ????å??˸?ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
 
      - STB_LOCAL
- ?????????ʥ????ܥ??ϡ?
          ???????????????ޤ??Ǥ??륪?֥??????ȥե??????γ?¦?ˤϡ??????ޤ?????
          Ʊ??̾???Υ????????ʥ????ܥ??ϡ?
          ???ߤ??Τ????ޤ뤳?Ȥʤ?ʣ???ե???????¸?ߤ????ޤ???
- STB_GLOBAL
- ???????Х륷???ܥ??ϡ????礵???Ƥ??????ƤΥ??֥??????ȥե????뤫?鸫???ޤ???
          ?????ե??????ˤ??륰?????Х륷???ܥ????????ϡ?
          ?̥ե???????Ʊ???????ܥ???̤???????Ȥ????????ޤ???
- STB_WEAK
- ?夤?????ܥ??ϥ??????Х륷???ܥ??˻??Ƥ??ޤ???
          ?????????????????????㤤ͥ?????̤??????ޤ???
- STB_LOPROC
- ?????ͤ??? STB_HIPROC
          ?ʲ??ϡ??ץ????å??˸?ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
- STB_HIPROC
- ?????ͤ??? STB_LOPROC
          ?ʾ??ϡ??ץ????å??˸?ͭ?Υ??ޥ??ƥ??????Τ?????ͽ???Ƥ??ޤ???
        «???ȥ????ץե??????ɤΥѥå??????ӥ????ѥå??ѤΥޥ??????????ޤ?: 
          - ELF32_ST_BIND(info)
- ?ޤ???
              ELF64_ST_BIND(info)
              ?ϡ?«???? st_info
              ?ͤ??????Ф??ޤ???
- ELF64_ST_TYPE(info)
- ?ޤ???
              ELF32_ST_TYPE(info)
              ?ϡ??????פ? st_info
              ?ͤ??????Ф??ޤ???
- ELF32_ST_INFO(bind,
            type)
- ?ޤ???
              ELF64_ST_INFO(bind,
              type)
              ?ϡ?«???ȥ????פ? st_info
              ?ͤ??Ѵ????ޤ???
 
 
- st_other
- ???Υ????Фϡ????? 0
      ???????????????줿??̣???????ޤ?????
- st_shndx
- ???????륷???ܥ??ơ??֥륨???ȥ??ϡ?
      ?ʤ??餫?Υ??????????˴ؤ???
      “?????????Ƥ??ޤ?” ??
      ???Υ????Фϡ???Ϣ???륻?????????إå??ơ??֥륤???ǥå??????????ޤ???
?????֤ϡ??????ܥ뻲?Ȥȥ????ܥ?????????³?????????Ǥ???
    ?????ֲ?ǽ?ʥե??????ϡ????????Υ????????????Ƥ?
    ??????ˡ?Ҥ?????????????ɬ?פ??????ޤ???
    ???Τ褦?ˤ??ơ??¹Բ?ǽ?ե??????ȶ?ͭ???֥??????ȥե????뤬??
    ?ץ??????Υץ??????।????Τ????????????????????Ƥޤ???
    ?????֥????ȥ??ϡ????????Υǡ????Ǥ???
?ÿ???ɬ?פȤ??ʤ??????ֹ?¤??:
typedef struct {
	Elf32_Addr      r_offset;
	Elf32_Word      r_info;
} Elf32_Rel;
 
typedef struct {
	Elf64_Addr      r_offset;
	Elf64_Size      r_info;
} Elf64_Rel;
 
?ÿ???ɬ?פȤ????????ֹ?¤??:
typedef struct {
	Elf32_Addr      r_offset;
	Elf32_Word      r_info;
	Elf32_Sword     r_addend;
} Elf32_Rela;
 
typedef struct {
	Elf64_Addr      r_offset;
	Elf64_Size      r_info;
	Elf64_Off       r_addend;
} Elf64_Rela;
 
  - r_offset
- ???Υ????Фϡ???????ư????Ŭ?Ѥ?????????Ϳ???ޤ???
      ?????ֲ?ǽ?ʥե??????Ǥϡ?
      ?ͤϡ??????֤ˤ??äƱƶ????????뵭??ñ?̤?
      ????????????Ƭ?????ΥХ??ȥ??ե??åȤǤ???
      ?¹Բ?ǽ?ե??????ޤ??϶??ѥ??֥??????ȤǤϡ?
      ?ͤϡ??????֤ˤ??äƱƶ????????뵭??ñ?̤β??ۥ??ɥ쥹?Ǥ???
- r_info
- ???Υ????Фϡ?
      ?????֤????륷???ܥ??ơ??֥륤???ǥå????ȡ?
      ???Ѥ????????֤Υ????פ?Ϳ???ޤ???
      ?????֥????פϡ??ץ????å???¸?Ǥ???
      ?ƥ????Ȥ??????֥????ȥ??κ????֥????פޤ???
      ?????ܥ??ơ??֥륤???ǥå????Ȥ????Ȥ???
      ?????ȥ??? r_info
      ?????Ф??Ф??????줾??
      ELF_[32|64]_R_TYPE
      ?ޤ???
      ELF[32|64]_R_SYM
      ??Ŭ?Ѥ??????̤???̣???Ƥ??ޤ???
- r_addend
- ???Υ????Фϡ??????βÿ??????ꤷ?ޤ???
      ?????ϡ??????ֲ?ǽ?ʥե??????ɤ?
      ??Ǽ???????ͤ??????뤿???˻??Ѥ????ޤ???