Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BITS 64
- ET_EXEC equ 0x02
- _start equ 0x400000
- header:
- db 0x7f, "ELF"
- db 2
- db 1
- db 1
- db 0
- db 0
- db 0, 0, 0, 0, 0, 0, 0
- dw ET_EXEC
- dw 0x3e ; Machine (x64)
- dd 1 ; ELF Version
- dq _start ; Entry point address
- dq program_header_table
- dq section_header_table
- dd 0
- dw end_of_header ; Size of this header
- dw end_of_program_header_table - program_header_table ; Size of PHT entry
- dw 1 ; Number of PHT entries
- dw 64 ; Size of SHT entry
- dw (end_of_section_header_table - section_header_table) / 64 ; Number of SHT entries
- dw 4 ; Section names table index
- end_of_header:
- program_header_table:
- dd 1 ; Type: Loadable segment
- dd 5 ; Flags
- dq text
- dq _start ; Virtual
- dq _start ; Physical
- dq end_of_text - text
- dq end_of_text - text
- dq 0x1000 ; Alignment
- end_of_program_header_table:
- section_header_table:
- ;.null----------------------------
- times 64 db 0
- ;---------------------------------
- ;.text----------------------------
- dd shstr_text - shstrtab ; Name offset in .shstrtab
- dd 1 ; Type: Program data
- dq 6 ; Flags
- dq _start
- dq text
- dq end_of_text - text
- dd 0
- dd 0
- dq 16
- dq 0
- ;---------------------------------
- ;.symtab--------------------------
- dd shstr_symtab - shstrtab ; Name offset in .shstrtab
- dd 2 ; Type: String table
- dq 0 ; Flags
- dq 0
- dq symtab
- dq end_of_symtab - symtab
- dd 3 ; Associated section index
- dd 3 ; Extra info
- dq 8 ; Alignment
- dq 24 ; Size of each entry
- ;---------------------------------
- ;.strtab--------------------------
- dd shstr_strtab - shstrtab ; Name offset in .shstrtab
- dd 3 ; Type: String table
- dq 0 ; Flags
- dq 0
- dq strtab
- dq end_of_strtab - strtab
- dd 0
- dd 0
- dq 1
- dq 0
- ;---------------------------------
- ;.shstrtab------------------------
- dd shstr_shstrtab - shstrtab ; Name offset in .shstrtab
- dd 3 ; Type: String table
- dq 0 ; Flags
- dq 0
- dq shstrtab
- dq end_of_shstrtab - shstrtab
- dd 0
- dd 0
- dq 1
- dq 0
- ;---------------------------------
- end_of_section_header_table:
- ;--------------------------------;
- ; Sections ;
- ;--------------------------------;
- ;---------------------------------
- text:
- mov rax, 60
- mov rdi, 222
- syscall
- end_of_text:
- ;---------------------------------
- shstrtab:
- db 0
- shstr_text: db ".text", 0
- shstr_shstrtab: db ".shstrtab", 0
- shstr_strtab: db ".strtab", 0
- shstr_symtab: db ".symtab", 0
- end_of_shstrtab:
- ;---------------------------------
- strtab:
- db 0
- db "_start", 0
- end_of_strtab:
- ;---------------------------------
- symtab:
- ; null
- times 24 db 0
- ; section
- dd 0
- db 3
- db 0
- dw 1
- dq _start
- dq 0
- ; _start
- dd 1
- db 0x10 ; Type
- db 0
- dw 1 ; SHT index
- dq _start ; Value
- dq 0 ; Size
- end_of_symtab:
- ;---------------------------------
Advertisement
Add Comment
Please, Sign In to add comment