완료됨
"syscall # exit(0)"

셸코드 작성하는 실습을 해보고있는데
"xor rdi, rdi # rdi = 0\n"
"mov rax, 0x3c # rax = sys_exit\n"
"syscall # exit(0)"
이 구문을 빼고 작성하였더니 segmentation fault가 뜨고
저 구문을 추가하니 정상적으로 작동하였습니다.
저 3줄의 구문이 무슨 역할을 하는지랑 왜 없으면 에러가 나는지 궁금합니다.

#시스템_해킹 #공격기법
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
avatar
믕믕이부하
대표 업적 없음

쉘코드 끝에 흐름을 정상적으로 반환하는 부분이 없으면 당연히 오류가 뜹니다. 그리고 오류가 발생하기 전에 exit syscall을 실행할 경우 그대로 정상 종료하기 때문에 오류가 뜨지 않는 것입니다.

2022.05.02. 07:30