편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.04.02

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


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

    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코드를 찾고싶으면 어떤 파일을 봐야하나요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.04.01

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


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

    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코드를 찾고싶으면 어떤 파일을 봐야하나요?