文件隐藏说到底就是让ls、find一类的操作所返回的结果中没有需要隐藏的文件、目录。
而ls、find本质上是对目录的读操作。我们要劫持它的读操作函数,让它读不出来。那读操作那个函数在哪呢?见下图。
上图是以普通文件为例说明的,目录也是类似的。只不过名字不同叫ext2_dir_operations和ext2_dir_inode_operations。
说来说去怎么修改呢?见下图。
就是说,所有的ext2文件都指向相同的函数集合。只要得到一个struct file,就可以把函数集合里边的函数给改掉。我们用file_open打开根目录“/”,把其中的readdir改掉。
说到这精华已尽,把adore是怎么做的说完吧。