我尝试在Android 4.4.4中挂钩sys_call,内核版本是3.4。我使用LKM来完成它。 首先,我尝试挂钩sys_write以获取发送短信或拨号行为。这是我的钩子sys_write代码。
asmlinkage int hack_sys_write(unsigned int fd,char *buf,int count){
if(strstr(buf,"AT+CMGS")||strstr(buf,"ATD"))
{
printk("buf is %s\n",k_buf);
// the result is AT+CMGS=NUMBER(not tel number,just like 18,14..)
}
return original_call_write(fd,buf,count);
}
实际上,我可以在发送短信或拨打号码时捕获信息,但我无法获得有关短信内容的详细信息。(我拨号时的Intersting,printk是ADT =电话号码,为什么...?) urm ...然后我尝试挂钩sys_read以在收到短信或电话时捕获信息,但是reult为null。这是我的钩子sys_read代码:
asmlinkage int hack_sys_read(unsigned int fd, char *buf, int count){
if(strstr(buf,"AT+CLCC")||strstr(buf,"AT+CMGR"))
{
printk("something is read aha %s\n", buf);
}
return original_call_read(fd,buf,count);
}
关键词" AT + CLCC"或" AT + CMGR"无法捕获,结果什么也没有。所以,为什么我无法获取信息以及如何解决它 ?Plz帮助我,谢谢。