|
作者:Tesla.Angela
当文件被独占打开,而你又要读写它,网传的方法是找到文件的句柄并关闭。这就是课程5-7所说的。
不过实际上这个方法不好,因为这影响“别人”的工作。实际上,我有两个更好的办法解决这一问题。
1.复制句柄
假设你的好朋友买了一张你期待已久的游戏光盘,但是市面上已经绝版买不到了,你会怎么办?
你会把你的朋友打一顿然后把光盘抢过来吗?当然不会,一般人都会向朋友借光盘,然后自己刻录一份。
同理,只要找到文件句柄,然后复制一份即可。
2.PATCH IoCheckShareAccess
实际上,“文件被独占导致打不开”是一个WINDOWS的机制而已,并非因为物理原因导致的。
检查文件共享权限的函数是IoCheckShareAccess,只要让它直接返回0,所以的独占打开都变成了共享打开。
举个例子,C:\Windows\System32\config中的注册表文件(带锁头图标的文件)是被系统进程独占打开的。
只要在WINDBG中输入“eb IoCheckShareAccess 0xC3”之后,就能直接复制这些文件了(WIN7X64系统实测)。
|
|