Implemented basic data access

This commit is contained in:
2023-10-18 17:03:31 +02:00
parent 8b66c9588c
commit 506d1e30bf
4 changed files with 36 additions and 15 deletions

View File

@ -1,12 +1,26 @@
# ELF
## File contents
## Basic structure
- ELF header
- Program headers
- Sections
- Section headers
1. ELF header (0x00 - 0x40)
2. Program header (0x40 - 0x78)
3. Padding (0x78 - 0x80)
4. Machine code (0x80)
## Entry point
The entry point is defined in the first 64 bytes (ELF header).
## Base address
The minimum base address is controlled by the `mmap` settings:
```shell
sysctl vm.mmap_min_addr
```
Usually, this value is 65536 (0x1000).
## Initialization in Linux
See `/lib/modules/$(uname -r)/build/arch/x86/include/asm/elf.h`.