728x90
- 코드 실행시 segmentation fault 에러가 발생 했을 때!
- ex)
해당 코드를 실행 했을 때!! segmentation fault 에러가 발생
아래 명령어 3줄을 추가해준다!
int 80h -> system call 이라고 해서!
수 많은 함수들이 있는데 사용자가 응용프로그램에서 호출 할 수 있도록 해준다.
linux system call number, exit number 검색해보면 번호에대한 자세한 설명을 알 수 있다.
인자의 값을 0으로 보낸다는 것은 정상 종료를 의미한다!
위에 3줄을 c언어 에서는 exit(0)을 의미한다!
다시 또 링크를 해주고!! 에러?? 이건 내가 stack, 레지스터를 마음대로 사용해서..ㄷㄷ??
그래서 일단 의미없는 코드를 작성
에러 없이 프로그램이 잘 실행 되었다!!
두번째 예시!!
nasm -felf32 hello.asm && ld -I/lib/ld-linux.so.2 -lc --entry main hello.o
-> extern printf 외부의 라이브러리를 추가한 링크를 실행
잘 실행 되는 것을 확인할 수 있다!
728x90
반응형
'Reverse engineering > 리버싱 분석 강의 정리' 카테고리의 다른 글
리버싱#1 - add, sub 명령어 배우기! (0) | 2021.03.02 |
---|---|
리버싱#1 - mov 명령어 배우기 (0) | 2021.03.01 |
리버싱#1 - gdb 명령어 사용하는 방법! (0) | 2021.03.01 |
리버싱#1 NASM(넷와이드 어셈블러) 사용법 (0) | 2021.02.25 |
리버싱#1 x86 어셈블리 소개 (0) | 2021.02.25 |
댓글