B batconv Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-18 #1 我需要这样一种功能,在双击运行某种后缀名的文件时(如*.exe或*.swf等),能发出某种标志,让我的程序接收到。注意,不是双击的文件运行后在内存里查找,是在其运行前,或者是双击前,或者是选中时。目的是阻止其运行,发现后使其停止。
我需要这样一种功能,在双击运行某种后缀名的文件时(如*.exe或*.swf等),能发出某种标志,让我的程序接收到。注意,不是双击的文件运行后在内存里查找,是在其运行前,或者是双击前,或者是选中时。目的是阻止其运行,发现后使其停止。
S skaly Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-18 #4 同意楼上, 你可以这样做:在注册表中关联你的那类文件,在双击的时候运行你的程序,你自己再判断是需要启动其他程序还是中止
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-19 #6 注册表肯定是不行的,LZ的要求估计要走白河愁的思路才比较好
B batconv Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-23 #7 谢谢大家参与,我的目的不是对电脑上的所有这种文件操作,只是对某个盘的此类文件操作,我是学校机房管理员,不让学生在电脑上玩游戏,而上述两种文件类型正可能是游戏,所以要阻止其运行,且只对U盘或光盘有效,所以用注册表的方法可能不行。老白的方法的确可以,但是我对驱动或HOOK API一窍不通,可否请朋友们提供点代码帮我拓展思路,谢谢。
谢谢大家参与,我的目的不是对电脑上的所有这种文件操作,只是对某个盘的此类文件操作,我是学校机房管理员,不让学生在电脑上玩游戏,而上述两种文件类型正可能是游戏,所以要阻止其运行,且只对U盘或光盘有效,所以用注册表的方法可能不行。老白的方法的确可以,但是我对驱动或HOOK API一窍不通,可否请朋友们提供点代码帮我拓展思路,谢谢。
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-23 #8 哎!人在昆明的答案是正确的! 关联后,你知己在判断是否是U,光盘即可!
B batconv Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-23 #9 谢谢,那我试试看。 我还真没做过关联的程序,只知道有些病毒会这样,接下来我想知道的是通过关联启动我的程序后如何将启动应该启动的程序?如swf文件,关联启动我的程序后如何接着启动默认的播放程序,注册表中如何设置?
谢谢,那我试试看。 我还真没做过关联的程序,只知道有些病毒会这样,接下来我想知道的是通过关联启动我的程序后如何将启动应该启动的程序?如swf文件,关联启动我的程序后如何接着启动默认的播放程序,注册表中如何设置?
唐 唐朝笨蛋 Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-24 #10 貌似有不少管理工具?比如ARP之神还是什么的,能限制自定义进程 或者LZ既然是老师,给每台电脑上BAT批处理,或者干脆锁了USB和光驱
B batconv Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-24 #11 唐朝兄: 怎么可以锁呢,学生要做作业有时也需要用USB交换文件呀,我只需要限制他们玩游戏就行了。
D Dstorm Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-25 #13 来自:白河愁, 时间:2008-9-18 22:42:13, ID:3922178 驱动或HOOK API才是王道。 正解!~驱动比较好!~
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-25 #14 用的着驱动吗?直接hook createprocess就解决问题了。判断lpFile即可进行拦截处理了。这个没有必要用驱动了,本身createprocess不会在windows被频繁的调用,所以这样拦截不影响系统性能的。如果是拦截一些频繁调用的api函数,比如closehandle,那么需要考虑驱动来做,否则,系统容易被搞死。
用的着驱动吗?直接hook createprocess就解决问题了。判断lpFile即可进行拦截处理了。这个没有必要用驱动了,本身createprocess不会在windows被频繁的调用,所以这样拦截不影响系统性能的。如果是拦截一些频繁调用的api函数,比如closehandle,那么需要考虑驱动来做,否则,系统容易被搞死。
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-26 #16 这个hook createprocess即可了。这个api调用不频繁,没有任何问题。
L linuxping Unregistered / Unconfirmed GUEST, unregistred user! 2008-10-06 #19 HOOK API 看看MadCollection里的demo。 符合你的要求
3 38152977 Unregistered / Unconfirmed GUEST, unregistred user! 2008-10-07 #20 钩子是唯一的解决之道.如用汇编也可以,但没有人会.