如何监视程序对文件系统的访问

     偶尔我们会有这样的需要,想要知道某个程序,对文件系统做了哪些访问。读写了那些文件。

     例如,部分程序不提供配置的导出功能,可是正常情况下,配置都是持久化在硬盘上,保留在本地的。如果我们能监视到,修改配置前后,某程序对磁盘中的那些文件进行了写操作,就能顺藤摸瓜找到他的配置文件,然后通过直接覆盖配置文件进行迁移配置的工作(假定这个程序的配置不做和用户名等挂钩的加密,也不放在注册表之类)

     如果在window下,有FileRiver/Filemon这些工具,都很好用。

     在Mac下稍微难找些,可以用FS_Spy(要钱的,虽然可以试用一段时间),然后也有个Filemon(http://deepit.ru/products/FileMon/dist/FileMon.zip 貌似是免费的,不过图标比较另类,不知道是不是个人作品,和windows下那个同名软件应该不是一个来源)。 前者相对好用些。

     类Unix系统下,比如Mac的终端下,也可以使用fs_usage这个命令来看,比如 sudo fs_usage -f filesys 123 | grep xxx (123是程序的pid, xxx是要过滤出来显示的关键字)


     不过用fs_usage命令的时候,要尤其注意要用ctrl+c(而不是ctrl+z)来结束,否则第二次运行的时候会提示已经有一个实例在运行了,如果遇到这样的情况,先在命令行top找出fs_usage的pid,然后kill(-3)之

     通常如果用工具的话,大体都是类似的,要么是得事前设定好关键字,要么方便点,可以做事后的过滤。一般来说都得弄好过滤条件,不然基本会眼花缭乱看不清。

     以用FileMon查找MacOS里XCode的快捷键保存位置为例:

1. 打开FileMon,会看到刷啦刷啦一堆,在Fiter中输入XCode回车,然后点个New Spy Session。就干净了。

2. 之后在XCode中操作添加一个新的快捷键配置文件。然后在FileMon中可以看到如下的图


 

  就不难猜出路径了。如图选中的行。

3. 剩下的就是增增删删文件,开开关关XCode验证了。

 

P.S. windows下一些其他系统监视软件

1. windows注册表:Regmon

2. 网络:Proxifier

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值