라즈베리 확장

임베디드 개발 환경 구축


§시스템 콜 후킹
후킹이란 사전적 단어 그래도 가로채다의 뜻. 즉 시스템 콜 후킹이란 정상적인 시스템을 가로채서 원하는 것을 실행시키는 것을 의미
시스템 콜을 후킹하기 위해서는 시스템 콜 테이블의 시작 주소를 담은 커널 내 포인트 변수인 sys_call_table 주소를 알아야 됨

- $cat linux/System.map | grep sys_call_table

후킹 할 시스템 콜 검색
$vi linux/arch/arm/include/uapi/asm/unistd.h

예제에서는 NR_open 후킹

Makefile 생성


Test c코드 작성


make


- ls로 생성된 파일 확인


- Target에 전달

- $scp hook1.ko pi@192.168.0.9:/home/pi/test


라즈베리에서 확인



위의 화면을 보면 sys_open을 후킹하여 내가 원하는 것을 확인할 수 있다.
또한 rmmod를 통해 모듈을 내렸을 때 Module exit 메시지를 확인할 수 있다.

다음번에는 모듈을 insmod, rmmod하는 것이 아닌 직접 박아서 test할 계획.


+ Recent posts