Android通过libc查看open文件
# bionic/libc/async_safe/include/async_safe/log.h
#define MYLOGD(tag, format, ...) async_safe_format_log(ANDROID_LOG_DEBUG, tag, format, __VA_ARGS__)
#define MYLOGE(tag, format, ...) async_safe_format_log(ANDROID_LOG_ERROR, tag, format, __VA_ARGS__)
#define MYLOGI(tag, format, ...) async_safe_format_log(ANDROID_LOG_INFO, tag, format, __VA_ARGS__)
# bionic/libc/bionic/open.cpp
int open(const char* pathname, int flags, ...) {
mode_t mode = 0;
if ((flags & O_CREAT) != 0) {
va_list args;
va_start(args, flags);
mode = static_cast<mode_t>(va_arg(args, int));
va_end(args);
}
int uid = getuid();
if (uid > 10000)
{
MYLOGI("nop", "file %s uid %d", pathname, uid);
}
return __openat(AT_FDCWD, pathname, force_O_LARGEFILE(flags), mode);
}
效果: