1 section .data
2 filename db "/home/shell_basic/flag_name_is_loooooong", 0
3
4 section .text
5 global _start
6
7 _start:
8 mov rdi, filename ; rdi = "/home/shell_basic/flag_name_is_loooooong"
9 xor rsi, rsi ; rsi = 0; RD_ONLY
10 xor rdx, rdx ; rdx = 0;
11 mov rax, 2 ; rax = 2; syscall_open
12 syscall ; open("/home/shell_basic/flag_name_is_loooooong", RD_ONLY, NULL)
13
14 mov rdi, rax ; rdi = fd
15 mov rsi, rsp
16 sub rsi, 0x1000 ; rsi = rsp - 0x1000; buf
17 mov rdx, 0x1000 ; rdx = 0x1000; len
18 mov rax, 0x0 ; rax = 0; syscall_read
19 syscall ; read(fd, buf, 0x1000)
20
21 mov rdi, 1 ; rdi = 1; fd = stdout
22 mov rax, 0x01 ; syscall_write
23 syscall ; write(1, buf, 0x1000)
이런식으로 해서 objdump -D orw로 해서 기계어로 변환시키고 쉘프로그래밍해서 /x로 변환시켜서 넣었는데 아무일도 없습니다 ㅜㅜ.. 뭐가 잘못된건가요?