섹션 .init
은 어떻게 찾을 수 있습니까? 섹션 헤더의 필드는 Elf32_Word sh_name
입니다. 그래서 나는 모든 섹션을 통해 이름이 하나 인 것을 발견해야만한다고 생각한다. .init
그러나 은 문자 배열이 아니다. 이것은 String Table의 엔트리 인덱스입니다. String Table은 어디에 있습니까? ELF 헤더에 필드 elfHdr.e_shstrndx
이 있습니다. 거기에 섹션의 색인입니다 문자열 테이블이 자리 잡고 있습니다. 문자열 테이블의 오프셋을 계산하려면 아래에 설명 된 수식을 사용하십시오.ELF 파일의 .init 섹션 검색
offset = ((elfHdr.e_shstrndx)*elfHdr.e_shentsize)+elfHdr.e_shoff,
where
elfHdr.e_shstrndx = index where we can find .shstrtab
elfHdr.e_shentsize = Size of each Section Header
elfHdr.e_shoff = Offset at which section header starts.
그러나 오프셋은 문자열 테이블의 올바른 오프셋이 아닙니다. 나는 다양한 파일에 그것을 시도했다. 섹션이 .init
인지 여부를 확인하는 또 다른 방법이 있습니까?
고마워요! 맞아. – Qwerty