美文网首页
linux 编译汇编生成 elf 文件,可执行流

linux 编译汇编生成 elf 文件,可执行流

作者: that_is_this | 来源:发表于2018-03-18 10:44 被阅读8次
  1. 编写 shellcode
.text 
    .global _start
    
_tiny_exit:
    movl $0,%ebx
    movl $1,%eax
    int $0x80
    
_tiny_msg:
    .ascii "Hello world!\n"
    
_get_rip:
    mov (%esp), %ecx
    ret
    
_start:
    push %esp
    push %ebp
    mov %esp, %ebp
    push %edx
    push %ecx
    push %ebx
    push %eax
    
    mov $14, %edx
    call _get_rip
    add $-36,%ecx
    mov $1,%ebx
    mov $4, %eax
    int $0x80

    pop %eax
    pop %ebx
    pop %ecx
    pop %edx
    pop %ebp
    pop %esp
    
    jmp _tiny_exit
  1. 对应的是 32 位
as --32 -o inject.o inject.s
ld -m elf_i386 -o inject inject.o

相关文章

  • linux 编译汇编生成 elf 文件,可执行流

    编写 shellcode 对应的是 32 位

  • Linux[ELF]: ELF文件结构简单梳理

    Linux[ELF]: ELF文件结构简单梳理 一.编译过程-ELF文件生成 二.ELF的文件概述 2.1 4种...

  • 代码的编译过程

    预处理 编译生成汇编代码 源码->汇编 汇编生成目标文件 链接各种库才能产生最终的正确可执行文件 编译的过程 假如...

  • ELF文件长什么样子(1/2)

    和JavaScript这样的解释执行语言不同,编译执行的语言通过编译、链接最终生成可执行文件。 ELF(Execu...

  • ELF文件

    ELF格式类型 可执行文件在Linux中格式为ELF文件,Executable Linkable Format,在...

  • 程序员自我修养3:目标文件

    一、相同的文件格式:ELF 目标文件:代码编译后未链接的文件(Linux的.o) 可执行文件 静态链接库(Linu...

  • C/C++编译模型

    C/C++是以源文件为单位进行编译的,每个源文件依次要经过预编译,编译,汇编,链接最终生成可执行文件或者库文件。 ...

  • 第三章 目标文件格式

    主流的可执行文件有:windows下的PE和linux下的ELF,他们都是COFF格式的变种。目标文件:源代码编译...

  • 交叉编译go文件

    Linux 编译为 linux 可执行文件 编译为 windows 可执行文件 编译为 mac 可执行文件 Win...

  • PE/ELF/Mach-O之比较

    1、ELF(Executable Linkable Format):linux下的可执行文件格式,按照ELF格式编...

网友评论

      本文标题:linux 编译汇编生成 elf 文件,可执行流

      本文链接:https://www.haomeiwen.com/subject/ctheqftx.html