1

我尝试在 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);
}

实际上,我可以在发送短信或拨打号码时捕获信息,但无法获取有关短信内容的详细信息。(有趣的是,当我拨号时,printk 是 ADT=Tel 号码,为什么...?) urm.. .然后我尝试在收到短信或电话时挂钩 sys_read 以捕获信息,但结果为空。这是我的挂钩 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”,结果什么都没有。所以,为什么我无法获取信息以及如何解决?请帮助我,谢谢。

4

0 回答 0