阅读:3636回复:30
100元人民币求一个小程序代码.兄弟们,希望有人肯花一个小时帮个忙.
通过ifs实现文件监控。具体要求如下:
1、使用sfilter或者filespy代码框架。 2、监视监控列表中的文件,当被监控的文件被删除时,ifs驱动把该文件拷贝到指定的目录,然后驱动放行该操作。 3、提供一个静态库,包含函数: Add(CString sFileName,CString dFilePath),通过该函数,把要监控的文件加到被监控文件列表中。 Remove(CString sFileName),通过该函数,把之前加入监控列表的文件记录删除(使得ifs驱动不再监控该文件) Clear(),通过该函数,清除监控列表 Load(),装载驱动;UnLoad(),卸载驱动。 备注: 1、文件拷贝使用ZwCreateFile/ZwReadFile/ZwWriteFile完成。 2、Add(CString sFileName,CString dFilePath),sFileName支持目录/通配符号(如:c:\temp\*.temp) 3、确保程序稳定高效。 |
|
最新喜欢:![]() |
沙发#
发布于:2007-12-10 09:58
the Kernel File Copy driver
有时间再仔细看看。 |
|
板凳#
发布于:2007-12-09 20:57
引用第28楼ProPlayboy于2007-12-09 04:10发表的 : 我记得好像叫啥啥RoXXX Irp的一个代码~~忘记了~~库叫啥kfc~~ |
|
|
地板#
发布于:2007-12-09 04:10
KFC...我前些天,才去那里买了一份汉堡。。味道还可以。。。
|
|
|
地下室#
发布于:2007-12-09 03:48
谢谢指点
|
|
5楼#
发布于:2007-12-09 03:32
正规应该是第三种方式,在驱动里完成copyfile,具体代码参考kfc~~kfc~~
(KFC是代码的压缩代号,你可以找找看哦~) |
|
|
6楼#
发布于:2007-12-09 03:14
目前使用的是第一种方式。正在向第二种方式进军。
这几天上火了,发现自己最近脾气比较差~~有冒犯大家的地方请多多包涵。 以后遇到问题,还希望大家多多指点。。。 |
|
7楼#
发布于:2007-12-09 02:16
既然不是专门搞驱动的啊~~
不是BS,而是关注稳定这两个字~~ 今天晚上跟某人去稳定某问题,差点吐血~~ ![]() 根据你的一句话: "拷贝操作通过应用程序完成..." ![]() 大体猜测一下:(其实也是价值大约100rmb的思路) 第一种思路::(属于邪派的手法) 发现是要xx的文件 再发现负责删除程序不是自己的程序直接取消当前的删除,然后Set下Event 让应用层copy之后,再应用层删除~ 第二种思路::(在文件不大时很稳定的做法) 发现是要xx的文件,直接iofcalldriver查询并读取整个文件。写入临时的mapping,下发删除~~ set下event让ring3取mapping数据,写入yyy~~~ |
|
|
8楼#
发布于:2007-12-09 01:33
引用第22楼killvxk于2007-12-07 19:55发表的 : 做斑竹还真的可以随便BS人哦。 说实话,到目前为止,我也只做过2个可以运行的驱动程序,filedisk和vprinter。还是在别人的代码上修改的。技术自然无法跟大家相比了。我的工作跟驱动开发粘不上边,只是这次由于工作的原因需要了解这方面的技术问题,所以想找个代码参考一下。 这个问题,我目前的解决方法是修改filespy代码,对文件的删除操作做了限制,拷贝操作通过应用程序完成,仅此而已。接下来还有很多东西要边学习边开发了。 谢谢20楼朋友的关注,如果你愿意帮忙,我非常感谢。 个人觉得,只需要关注IRP_MJ_SET_INFORMATION,FILE_DISPOSITION_INFORMATION 的 DeleteFile==TRUE 然后判断当前文件是否是被监控的文件,如果是则拷贝到指定目录里。 至于安装和加载问题,可以直接参考filespy的方法。只需要保证在win2000和win2k3正常运行。 其他朋友有什么好的方法,也希望提出来。 PS: 对于高手们来说这个问题的确很无聊,可以暂时回避一下:) |
|
9楼#
发布于:2007-12-07 19:55
![]() ![]() ![]() ![]() 自己觉得解决了?在1000W用户安装后稳定了么? 我现在也有同样的问题,给你100元,帮我解决1000W用户安装无一个投诉的稳定,就是你说的这些功能~~ |
|
|
10楼#
发布于:2007-12-07 16:24
真的被前面的哥们说中了。这贴真的火了
|
|
11楼#
发布于:2007-12-07 15:56
我可以试试吗?
这个功能确实比较简单啊,不会涉及很多DISPATCH,不需要管CATCH,但有一个问题,过滤驱动在2000下动态加载还不清楚怎么弄. |
|
12楼#
发布于:2007-12-06 16:25
引用第18楼j1j1j1于2007-12-06 14:47发表的 : 按照你这个逻辑理解,如果你遇到问题,而别人又花了时间帮助你,你然后说一声谢谢,再然后你请他和茶。这个时候,你是不是把帮助你的人当作了民工? 楼上楼下的各位,请看一下标题,是100元人民币求一个程序,既然是求,就说明这100元不是酬劳,不是要花100元买。同时标题也说明了,是希望有人肯花时间去帮忙。大家为什么把这100元作为酬劳,作为交易的筹码呢? 大家没有时间帮忙,或者不愿意帮忙的话,大可一笑而过。 继续关注这个话题... |
|
13楼#
发布于:2007-12-06 14:47
引用第13楼creakmud于2007-12-06 01:10发表的 : 技术这东西,做过了也就那样,话是不错,可是你以为每个人都象你这么有闲功夫,为了100块去做驱动啊?100块,看完你的贴都不只收你100块,你以为中国人个个都是IT民工啊,搞笑 |
|
14楼#
发布于:2007-12-06 12:31
本来想上来这里向大家求助的。100在深圳的确算不了什么,一杯咖啡也90多。
只是想到既然要别人帮忙,请他喝杯咖啡想来应该也不是什么坏事。但是看来大家都想到了等价交换。如果把这个需求作为项目,1W元也只能算是个起步价。 14楼的朋友分析的很正确。 to 16楼,你是否把100元当钱呢? |
|
15楼#
发布于:2007-12-06 09:38
lz把100块太当钱了.
|
|
16楼#
发布于:2007-12-06 08:30
长见识,看来我是蛮值钱的嘛。但是现在我做不了这个功能,要做也要好久才可以
|
|
17楼#
发布于:2007-12-06 05:09
Let me do some calculation here based on a very simple formula:
MonthlySalary / WorkingHoursPerMonth * HoursSpentOnThisFunction Let's say your salary is 5000 per month, there are 22 working days in a month and everyday you work 8 hours: 5000 / 22 / 8 = 28.4 Yuan/Hour, That's your hourly rate. So your 100Yuan means you estimate the work can be finished in less than 5 hours. If your salary is 1K, you earn 1K/22/8 = 5.68 Yuan/Hour and you can have 17.6 hours (more than 2 days) to solve it. Since you finished the work by yourself, you should be able to know whether 100Yuan is enough or not. To be honest, from your requirements, I don't think an experienced kernel developer can finish them in one or two days and a kernel driver strictly follow your requirements may yield BSOD. "技术这东西,做过了也就那样。" - You post this sentence in a wrong forum. |
|
18楼#
发布于:2007-12-06 01:10
谢谢大家关注。
自己解决了,先凑合着用吧。谢谢楚狂人的教程。 不知道是大家把钱看得太重了,还是我描述得太复杂了。技术这东西,做过了也就那样。 |
|
19楼#
发布于:2007-12-05 18:49
100元,很好,很强大~
这样吧,我给楼主10W,搞个稳定这个小功能吧~~^_^ |
|
|
上一页
下一页