请告知是否可以在Android设备上拦截/监控文件I / O.例如。在Linux上我们可以使用LSM或系统调用陷阱 我希望将所有新创建文件的文件名记录到文本文件或短信到另一部手机 感谢任何入门帮助。先感谢您。
干杯, 比尔
答案 0 :(得分:6)
您可以使用FileObserver类:
“监视文件(使用inotify)在设备上的任何进程(包括此进程)访问或更改文件后触发事件.FileObserver是一个抽象类;子类必须实现事件处理程序onEvent(int,String) )“。
http://developer.android.com/reference/android/os/FileObserver.html
答案 1 :(得分:1)
鉴于Android内核支持inotify,您可以编译一些使用inotify报告文件系统活动的工具。
或者您可以尝试使用pyinotify(http://pyinotify.sourceforge.net/)
答案 2 :(得分:0)
andriod SMS服务由另一个独立的Java程序提供,SMS消息可以存储在SQLlite数据库中。 通常是一种恶意软件程序,它调用SMS管理器的服务来轮询其中的内容或发送SMS消息。 即使您从内核拦截所有磁盘io,也很难知道哪个程序会向管理器触发此磁盘IO。 并且很难从感知的文件名或数据块中了解IO活动的意图。
如果您想尝试用于adacamic目的的拦截功能,可以在Android中尝试ptrace功能。它与标准Linux中的ptrace非常相似,可以拦截从进程发送的每个系统调用请求。