본문 바로가기
Reverse engineering/리버싱 분석 강의 정리

리버싱#1 - segmentation fault 에러 해결하기!

by grey-hat hacker 2021. 3. 1.
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
반응형

댓글