1인 1프로젝트

구조체 설계

youngsouk 2021. 4. 20. 09:36

ELF  섹션 정보 구조체

- 섹션 갯수

- 섹션 Index

-  섹션 이름

- 섹션 헤더

 

GOT 정보 구조체

- 이름 문자열 포인터

- 주소값

 

SYM 정보 구조체

- 이름 문자열 포인터

- 값

 

ELF 파일 정보 구조체

- fd 값

- 파일 이름 포인터

-섹션 정보

- GOT 정보

- SYM 정보

 

이런 정보를 바탕으로 구조체 설계를 해본 결과는

typedef struct Section{
    Elf64_Half SectionCnt;
    Elf64_Half SectionStringIndex;
    char * SectionName;
    Elf64_Shdr * SectionHeader;
}Section;

typedef struct got{
    char * name;
    unsigned long long addr;
} GOT;

typedef struct sym{
    char * name;
    unsigned long long value;
}SYM;

typedef struct elfinfo{
    int fd;
    char * filename;
    Section section;
    GOT * got;
    SYM * sym;
}ELFInfo;

이런 식으로 된다.