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