낙서장

  • 홈
  • 태그
  • 방명록

execve() 1

execve() argv 포인터 배열 확인

execve의 시스템 콜 표이다. 레지스터는 rax, rdi, rsi, rdx순이다. rax는 59, rdi에는 파일 이름의 포인터, rsi에는 argv 포인터 배열이 온다. rdx는 시스템 환경 변수가 담긴다는데, 스킵하겠다. execve함수도 어차피 내부적으로는 sys_execve로 구현이 되어있고, 파라미터도 똑같이 받아준다. /bin/ls를 통해서 한번 어떤 식으로 구현이 되는지 확인을 해보겠다. 다음과 같은 코드를 짜서 gdb로 까보겠다. 1 2 3 4 5 6 7 8 #include #include int main(){ char * arr[3]={"/bin//ls","-al",NULL}; execve(arr[0],arr,NULL); return 0; } cs argv[0]은 항상 자기 자신이 들..

프로그래밍/C 2022.05.24
이전
1
다음
더보기
프로필사진

낙서장

https://velog.io/@msh1307

  • 분류 전체보기 (94)
    • WARGAME (34)
      • FTZ (11)
      • pwnable.kr (6)
      • Lord of sql injection (9)
      • webhacking.kr (5)
      • pwnable.tw (3)
    • SYSTEM HACKING (7)
    • REVERSE ENGINEERING (1)
    • 프로그래밍 (13)
      • C (9)
      • JAVASCRIPT (2)
      • PYTHON (2)
    • PS (5)
      • BOJ (5)
    • Layer7 동아리 과제 (28)
    • OS, Kernel (5)
    • POSIX 동아리 정리 (1)

Tag

시스템콜, malloc libc leak, 리눅스 커널, 하드웨어, mmap libc leak, OS, lord of sql injection, 백준, 링커, BOJ, 리버싱, pwnable.tw, sysmallc_mmap, 해커스쿨, Level10, FTZ, 커널, pwnable.kr, kernel, flask,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바