栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

有没有人能够创建PE COFF和ELF的混合体?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有没有人能够创建PE COFF和ELF的混合体?

这是不可能的,因为两种类型的格式有冲突:

  • PE文件的开头两个字符必须是
    'M' 'Z'
    ;
  • ELF文件的开头四个字符必须为
    'x7f' 'E' 'L' 'F'

显然,您不能创建一个可以同时满足两种格式的文件。


回应有关多语言二进制文件同时作为16位COM文件和Linux
ELF文件都有效的评论,这是有可能的(尽管COM文件实际上是DOS程序,而不是Windows,当然不是Win32)。

这是我一起敲的-用NASM编译。之所以起作用,是因为ELF文件(

'x7f' 'E'
)的前两个字节恰好也是有效的8086机器代码(45字节的相对于if-
大于-大于的指令跳转)。最小的ELF标头来自Brian
Raiter

BITS 32ORG 0x08048000  ehdr:     ; Elf32_Ehdr     db      0x7F, "ELF", 1, 1, 1, 0         ;   e_ident        times 8 db      0     dw      2         ;   e_type     dw      3         ;   e_machine     dd      1         ;   e_version     dd      _start    ;   e_entry     dd      phdr - $$ ;   e_phoff     dd      0         ;   e_shoff     dd      0         ;   e_flags     dw      ehdrsize  ;   e_ehsize     dw      phdrsize  ;   e_phentsize     dw      1         ;   e_phnum     dw      0         ;   e_shentsize     dw      0         ;   e_shnum     dw      0         ;   e_shstrndx  ehdrsize      equ     $ - ehdrtimes 0x47-($-$$) db    0; DOS COM File preBITS 16    mov dx, msg1 - $$ + 0x100    mov ah, 0x09    int 0x21    mov ah, 0x00    int 0x21  msg1:         db      `Hello World (DOS).rn$`BITS 32  phdr:     ; Elf32_Phdr     dd      1         ;   p_type     dd      0         ;   p_offset     dd      $$        ;   p_vaddr     dd      $$        ;   p_paddr     dd      filesize  ;   p_filesz     dd      filesize  ;   p_memsz     dd      5         ;   p_flags     dd      0x1000    ;   p_align  phdrsize      equ     $ - phdr; Linux ELF pre  _start:    mov eax, 4      ; SYS_write    mov ebx, 1      ; stdout    mov ecx, msg2    mov edx, msg2_len    int 0x80    mov eax, 1      ; SYS_exit    mov ebx, 0    int 0x80  msg2:         db      `Hello World (Linux).n`  msg2_len      equ     $ - msg2  filesize      equ     $ - $$


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417213.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号