-
-
[求助][讨论]android cydia substrate hook内核函数
-
发表于:
2017-5-22 11:10
3576
-
[求助][讨论]android cydia substrate hook内核函数
各位大神,新手请教问题:
cydia substrate 有没有办法能够hook linux 内核的调用,目的是在android下面想做如下功能,监控应用的文件读写,观察应用都访问了哪些文件,想通过hook 内核的函数:__NR_open,具体的代码不知道该怎么写,这个hook是比较靠近底层的,刚开始想通过hook /system/lib/libc.so的open(const char * pathname, int flags, int mode)函数,基本上都能监控到,那第三方的应用做测试,后来发现依然有漏掉的地方,于是看了open的内部实现,发现他最终是调用内核syscall,而syscall的实现是一个通用的实现,猜想具体到open的调用应该是__NR_open(http://androidxref.com/4.2.2_r1/xref/bionic/libc/arch-arm/syscalls/__open.S),于是想到能否把钩子函数伸向内核,但是具体的代码不知道该怎么实现,该hook哪个?
或者基于上面的目的,能否有别的思路
刚开始想hook c层的syscall(int number, ...),但是发现这个函数是带有可变参数的,这个参数没办法通过代理函数向真实函数传递
[课程]Linux pwn 探索篇!