Files
idlesauce 114b0465a4 Hook int3 idt, hook syscalls individually, small misc changes
This removes practically all slowdown of syscalls/the need for toggling
2026-06-28 22:17:37 +00:00

70 lines
801 B
NASM

use64
global _start
global memcpy
global memset
extern main
extern addr__dynlib_dlsym
extern elf_main
extern _end
section .text.startup ; needed for correct linkage with -O2
_start:
jmp start2
db 'E', 'L', 'F' ; internal magic for the patcher script
dq _sdata-_start
start2:
jmp start3
times 24-($-_start) db 0
dq elf_main-_start
dq 64
times 56-($-_start) db 0
dw 2
times 64-($-_start) db 0
; segment 1 -- rx
dd 1
dd 5
dq 0
dq 0
dq 0
dq _sdata-_start
dq _sdata-_start
dq 0
; segment 2 -- rw
dd 1
dd 6
dq _sdata-_start
dq _sdata-_start
dq _sdata-_start
dq _end-_start
dq _end-_start
dq 0
start3:
mov [rel addr__dynlib_dlsym], rdi
jmp main
memcpy:
mov rax, rdi
mov rcx, rdx
rep movsb
ret
memset:
movzx eax, sil
mov rsi, rdi
mov rcx, rdx
rep stosb
mov rax, rsi
ret
section .data
_sdata:
db 1