카테고리

asm (27) bootloader_x86_grub (1) C (92) compile (11) config (76) CPP (13) CSS (1) debugging (7) gimp (1) Go (1) html (1) Java (1) JavaScript (1) kernel (19) LibreOffice (3) Linux system progamming (21) MFC (1) opencv (4) OpenGL (1) PHP (1) Python (4) qemu (29) shell (3) socket (7) troubleshooting (2) ubuntu18.04 (2) windows (1)

2018/12/08

asm 64bit sys_write


Argument Type Argument Description
File Descriptor
0(standard Input)
1(standard Output)
2(standard Error)
Buffer Location of string to write
Count Length of string

시스템 호출 항목

Syscall ID ARG1 ARG2 ARG3 ARG4 ARG5 ARG6
sys_read 0 #filedescriptor $buffer #count









레지스터에 의한 시스템 호출 입력

Argument 인수 Registers
ID rax
1 rdi
2 rsi
3 rdx
4 r10
5 r8
6 r9

"Hello, World! \ n"라고 쓰고 싶다고 가정 한다.

Syscall rax rdi rsi rdx r10 r8 r9
sys_read 0 #filedescriptor $buffer #count









Syscall rax rdi rsi rdx r10 r8 r9
sys_read 1 #filedescriptor $buffer #count









Syscall rax rdi rsi rdx r10 r8 r9
sys_read 1 1 $buffer #count









Syscall rax rdi rsi rdx r10 r8 r9
sys_read 1 1 ADDR #count











댓글 없음:

댓글 쓰기