Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [bits 32]
- section .text
- global _start
- org 0x08048000
- ehdr: ; Elf32_Ehdr
- db 0x7F, "ELF", 1, 1, 1, 0 ; e_ident
- ; times 8 db 0
- ; We can replace ^ this with the following for a code cave inside the elf header itself
- _start:
- xor ebx, ebx
- xor eax, eax
- inc eax
- int 0x80
- db 0 ; the code in the cave is 7 bytes long, so we need one byte of padding
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- 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 7 ; p_flags
- dd 0x1000 ; p_align
- phdrsize equ $ - phdr
- filesize equ $ - $$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement