Last active
April 25, 2017 10:03
-
-
Save RobinDavid/388909e4eabddd7dc80f to your computer and use it in GitHub Desktop.
Tiny ELF 32 (put code into _start)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; From: http://blog.stalkr.net/2014/10/tiny-elf-3264-with-nasm.html | |
; nasm -f bin -o tiny32 tiny32.asm | |
BITS 32 | |
org 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 $ - ehdr | |
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 | |
_start: | |
mov al, 1 ; sys_exit | |
mov bl, 42 ; int status | |
int 0x80 | |
filesize equ $ - $$ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment