linux 어셈블리 코드 관련 질문드립니다.

조회수 455회

안녕하세요, 시스템 콜에 대해서 공부하고 있는데,

fork()
{
    movl 57, %eax
     int $0x80
}

이런식으로 함수에 대한 어셈블리어 코드는 어떻게 찾을 수 있나요?

제가 받은 정보는 Glibc 코드가 인터넷에 있으니 검색해서 쓰면 된다고 되어있는데 찾을 수가 없었습니다. 일단 Glibc코드라고 해서 libc-2.27.so파일을 봤는데(실습 환경이 Glibc 2.27) 함수 이름밖에 안나왔습니다.

물론 구글링으로 뒤져보니깐

section .bss
 buffer: resb 1
section .text
 global _start
_start:
 mov eax, 3 ; system call number (sys_read)
 mov ebx, 0 ; file descriptor (stdin)
 mov ecx, buffer ; buffer to keep the read data
 mov edx, 1 ; bytes to read
 int 0x80 ;call kernel
 mov eax,1 ;system call number (sys_exit)
 mov ebx, 0 ;exit status
 int 0x80 ;call kernel

이렇게 소스코드를 찾긴 했는데, 이건 그냥 컴파일링 한 뒤에 다시 disassemble한건가요?

이런 asm코드를 찾고싶으면 어떤 파일을 봐야하나요?

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)