讨论:如果有效地防止文件被copy, move, delete

yjgx007 2011-07-09 03:55:13
平台: windows 2k/xp/vista/7 (x64)
要求: user mode 或者 kernel mode 操作均可, 一旦设定文件不能被copy, move, delete, 不仅仅是在Windows Explorer,在任何进程, 程序中都不能操作该文件,如果能给出思路解除文件锁定更好!

请在这方面有经验的朋友回帖, 勿扰, 谢谢。
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuohoo 2011-07-09
  • 打赏
  • 举报
回复
有点难
kyotrue 2011-07-09
  • 打赏
  • 举报
回复
楼上说的用服务程序打开倒是比较容易实现
cnzdgs 2011-07-09
  • 打赏
  • 举报
回复
禁止这些操作是否允许读写文件?如果允许读则无法禁止拷贝,最多是禁止某种特定的拷贝操作;如果禁止读和删除,允许写貌似没有意义。
一般做法是用文件系统过滤驱动来处理,如果禁止读写和移动、删除,只要在create时判断如果具有这些标志就拒绝打开。可以通过DeviceIoControl控制文件的锁定和解除。
简单处理可以用一个服务程序以独占方式打开该文件。通过进程间通讯或者启动和停止服务可以进行控制。
Lactoferrin 2011-07-09
  • 打赏
  • 举报
回复
操作方法绝不能用API
MagicFuzzX 2011-07-09
  • 打赏
  • 举报
回复
文件过滤驱动。。或者SSDT HOOK ZwCreateFile,当然64bits下的驱动需要数字签名
yjgx007 2011-07-09
  • 打赏
  • 举报
回复
kernel file sytem 过滤可能是个好方法, 多谢提醒, 还有其它简单的方法吗?
yjgx007 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 c_losed 的回复:]

kernel过滤不知道行不
或者user mode 进行hook api
如果能加锁成功 那么解锁就简单多了
设置个标示 只有你的程序才运行上述操作
[/Quote]
不好意思, 我忘了写不能Hooking API了,再次, 操作方法绝不能用API, 谢谢。回答时请给出主要思路。。
c_losed 2011-07-09
  • 打赏
  • 举报
回复
kernel过滤不知道行不
或者user mode 进行hook api
如果能加锁成功 那么解锁就简单多了
设置个标示 只有你的程序才运行上述操作

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧