티스토리 뷰

모바일 프로그래밍

Android 리눅스 API 후킹

두덕리온라인 2016. 4. 6. 22:04
728x90
반응형

안드로이드에서도 Linux API를 다음과 같이 Hooking할 수 있다. 다른 점은 RTLD_NEXT대신에 RTLD_DEFAULT를 써야 한다는 점이고, 대상 so와 함께 link되어 컴파일 되어야 한다는 점이다.

#define _GNU_SOURCE
#define __USE_GNU

#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "native-activity", __VA_ARGS__))
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "native-activity", __VA_ARGS__))

void* malloc(size_t size) {
LOGI("malloc");
static void* (*my_malloc)(size_t) = NULL;
my_malloc = dlsym(RTLD_DEFAULT, "malloc");
LOGI("my_malloc=%d",(int)my_malloc);
return my_malloc(size);
}


반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday