dd20121221 发表于 2012-3-1 21:08:06

怎样禁止创建文件?

有没有哪位大侠给个列子,我估计应该是类似于钩子之类的。

zldfsz 发表于 2012-3-2 15:28:38

帮你顶下,本人不会,等待高人出现

chinafla 发表于 2012-3-3 02:37:40

有禁止文件运行 但是不知道怎么禁止创建。。。

user3000 发表于 2012-3-3 02:54:15

常用的一招: 建立假文件, 然后对其限制访问的权限.
最狠的一招: 如果是文件, 则建立相同名字的文件夹, 再设置权限.
               文件夹则反之建立相同名字的文件...
多年网管的经验, Windows系统里,这招屡试不爽!...

dd20121221 发表于 2012-3-5 02:46:35

回复 4# user3000


    ...................
你怎么知道这个文件将会在哪里创建?

afan 发表于 2012-3-8 17:37:45

期待楼主共享
zxxputian5 发表于 2012-3-8 16:56 http://www.autoitx.com/images/common/back.gif


    你知道谁是楼主吗?共享了什么?
你的马甲也太多了,而且都是重复这一句。真正想学习就认真回帖,再这样就永久禁言了。

netegg 发表于 2012-3-8 18:06:39

回复 1# dd20121221

如果只是创建,大概起码要把钩子挂到createfile api上面,屏蔽该函数一类的

lion.lee 发表于 2012-3-9 21:27:42

哈哈!兄弟真强,还是视频论坛那一招,这是技术论坛啊!

pusofalse 发表于 2012-3-9 23:03:11

本帖最后由 pusofalse 于 2012-3-9 23:06 编辑

直接贴代码 格式会被打乱。下载附件进行测试。


#cs
_DenyCreateFile        - 根据路径规则,禁止创建文件。

$iProcessID        - 进程映像名称或ID。
$aFilePath        - 包含路径的一维数组,规则如下:

                $aFilePath = ["a.txt"] - 禁止在任何目录下建立a.txt。
                $aFilePath = ["C:\b.txt"] - 禁止在C盘下建立b.txt。
                $aFilePath = ["test\c.txt"] - 禁止在任何目录下的test文件夹中建立c.txt。

$fDenyRename        - 禁止通过重命名来创建文件。

返回值        - 成功: 1        失败: 0
#ce

Local $aFilePath = ["a.txt", "C:\b.txt", "test\c.txt"]

; 禁止explorer.exe进程在任意目录下建立a.txt,在C盘中建立b.txt,在任何目录下的test文件夹中建立c.txt。
_DenyCreateFile("explorer.exe", $aFilePath, 1)

; _DenyCreateFileRestore("explorer.exe") ; 恢复。

xms77 发表于 2012-3-10 07:32:06

p大的udf太有用了,感谢万分

dd20121221 发表于 2012-3-10 22:30:01

回复 10# pusofalse


    很有用,感谢啊。

dd20121221 发表于 2012-3-10 22:37:50

回复 10# pusofalse


    P版是否能改写一下让文件名支持正则?

dd20121221 发表于 2012-3-10 22:46:59

回复 10# pusofalse


    测试了发现问题,dir>a.txt ,这样通过CMD直接写文件能创建成功
如果是explorer.exe下的某个进程创建文件呢?这样的情况应该也可以创建成功吧。

pusofalse 发表于 2012-3-10 22:49:39

回复 13# dd20121221


    不能。从来没有见过用汇编写正则的,虽然能做到,但很麻烦复杂。分析字符串,这是汇编的软肋。

pusofalse 发表于 2012-3-10 22:51:32

回复 14# dd20121221


    _DenyCreateFile("cmd.exe", $aFilePath, 1),用同样的方法禁止cmd.exe来创建文件。
页: [1] 2 3
查看完整版本: 怎样禁止创建文件?