社区
进程/线程/DLL
帖子详情
讨论:如果有效地防止文件被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
打赏
收藏
讨论:如果有效地防止文件被copy, move, delete
平台: windows 2k/xp/vista/7 (x64) 要求: user mode 或者 kernel mode 操作均可, 一旦设定文件不能被copy, move, delete, 不仅仅是在Windows Explorer,在任何进程, 程序中都不能操作该文件,如果能给出思路解除文件锁定更好! 请在这方面有经验的朋友回帖, 勿扰, 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
如果能加锁成功 那么解锁就简单多了
设置个标示 只有你的程序才运行上述操作
maven打war包过程中对
文件
进行
copy
、rename、move、
delete
操作
在pom
文件
声明package类型为war包:<packaging>war</packaging> 打包:mvn clean package 或者mvn clean package -DskipTests=true <plugin> <artifactId>maven-antrun-p...
C#实现
文件
Move操作和
文件
的
Copy
操作
文件
移动(Move)操作和
文件
的复制(
Copy
)是C#程式开发经常遇到的方法,根据传入的源
文件
地址和目标
文件
地址参数,实现对
文件
的操作。实现c#教程代码如下: Move操作代码: public static void MoveFolder(string ...
Q_DISABLE_
COPY
、Q_DISABLE_MOVE、Q_DISABLE_
COPY
_MOVE用法详解及总结
Q_DISABLE_
COPY
、Q_DISABLE_MOVE、Q_DISABLE_
COPY
_MOVE用法详解及总结
使用maven打war包过程中对
文件
进行
copy
、rename(move)、
delete
操作
在pom中声明ant插件:maven-antrun-plugin设置ant在maven哪个"phase"和“goal”执行编写ant task在pom
文件
声明package类型为war包:war打包:mvn clean package 或者 mvn clean package -DskipTests=true ...
std:move基本用法和理解
场景: C++ 标准库使用比如vector::push_back 等这类函数时,会对参数的对象进行复制,连数据也会复制.这就会造成对象内存的额外创建, 本来原意是想把参数push_back进去...Move Constructors and Move Assignment Operat
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章