我看到了this header with structures
我要你解释一些违法行为。
Linux:ELF32_HDR , ELF64_HDR
什么类型的ELF文件ELF32_HDR->e_type
?
例如,Windows有IMAGE_NT_SIGNATURE
和IMAGE_DOS_SIGNATURE
与其他PE不同。
来自ELF32_HDR->e_ident
的前四个字节包含签名。那个ELF应该是什么ELF32_HDR->e_type
?
Windows:IMAGE_OPTIONAL_HEADER->AddressOfEntryPoint
Linux:'ELF32_HDR->e_entry
'?
Windows:'IMAGE_OPTIONAL_HEADER->ImageBase'
Linux:'ELF32_HDR->e_ehsize'
?
Windows:IMAGE_SECTION_HEADER->Name; VirtualAddress; SizeOfRawData
Linux:ELF32_SHDR->sh_name; sh_addr; sh_size
?
Windows IMAGE_SECTION_HEADER
来自PIMAGE_NT_HEADERS
Linux ELF32_SHDR
来自ELF32_HDR
?可能是section_headers的一些论点? e_shstrndx
? e_phoff
?
我认为这是ELF32_HDR->e_phoff
。
Windows:IMAGE_DIRECTORY_ENTRY_IMPORT
可以告诉我们有关dll模块的信息。
Linux:什么可以告诉我们有关守护进程的信息?
什么是ELF32_SYM , ELF32_DYN m ELF32_REL , ELF32_RELA
?
答案 0 :(得分:2)
你一定要打开http://www.skyfree.org/linux/references/ELF_Format.pdf
请改进您的问题,您尝试从一种文件格式迁移到另一种文件格式并不明显。
那里很清楚。例如,e_type
解释了:
Name Value Meaning
ET_NONE 0 No file type
ET_REL 1 Relocatable file
ET_EXEC 2 Executable file
ET_DYN 3 Shared object file
ET_CORE 4 Core file
ET_LOPROC 0xff00 Processor-specific
ET_HIPROC 0xffff Processor-specific
至于e_entry
,我相信你是对的。 IMAGE_SECTION_HEADER->Name; VirtualAddress; SizeOfRawData