Mac OS X의 시스템 콜 후킹

분류없음 2009.01.12 19:00
BSD에서 유래한 다윈 커널을 사용하고 있어서 FreeBSD와 비슷한 커널 모듈 형태를 가지고 있다. 또한 일종의 시스템 콜 테이블인 sysent 엔트리를 바꿔 치기해서 시스템 콜 후킹이 가능하다.
 
다음 사이트는 간단히 open 시스템콜을 후킹하고 있는 예제이다.
 
컴파일은 gcc나 XCode등으로 가능하고, kextload라는 명령을 통해서 로딩이 가능하다.
커널 모듈 작성과 컴파일 등에 대해서는  Hello Kernel: Creating a Kernel Extension With Xcode를 참조하기 바란다. Fixing ptrace(pt_deny_attach, ...) on Mac OS X 10.5 Leopard에도 컴파일 가능한 괜찮은 후킹 예제가 나온다.
 
단, 자신의 맥 시스템에서 테스트할 시에는 시스템 패닉이 쉽게 나므로 조심하기 바란다.

Posted via email from bugtruck's posterous

신고

티스토리 툴바