Tesla.Angela 发表于 2014-6-22 15:03:56

《WIN64驱动教程》补充[11]:操作被独占打开的文件

作者:Tesla.Angela

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

whitesilt 发表于 2014-6-22 15:31:32

{:soso_e142:}

mlyknown 发表于 2014-8-4 23:43:32

{:soso_e179:}

mlyknown 发表于 2014-10-21 20:22:20

{:soso_e179:}

ugvjewxf 发表于 2014-12-22 13:45:25

{:soso_e163:}这个也挺实用

5ak 发表于 2024-1-1 17:06:01

学习了

ruin1990 发表于 2024-1-17 15:03:11

这个思路好啊,独占文件变共享,赞一个

baggiowangyu 发表于 2024-1-26 14:27:21

2024补充学习

Undefined 发表于 2024-2-15 16:01:15

回复查看

nj001 发表于 2024-3-15 09:28:17

学习一下

yimingqpa 发表于 2024-3-29 10:21:44

感谢楼主,学习一下。

wst5898 发表于 2025-1-25 21:42:38

好好学习一下

sc12345 发表于 2025-3-2 01:57:18

学习一下

lpmjknj 发表于 2025-3-17 23:58:02

学习一下
页: [1]
查看完整版本: 《WIN64驱动教程》补充[11]:操作被独占打开的文件