今天,明天,后天,我们在这里相会

最新更新

推荐给好友 上一篇 | 下一篇

关于禁用某些dll防止QQ.exe改名后规则失效的方法的研究-McAfee桌面安全产品交流区-McAfee爱好者-麦粉丝中文社区-麦咖啡爱好者论坛-Powere

关于禁用某些dll防止QQ.exe改名后规则失效的方法的研究

之前有麦粉提过,通过把QQ.exe改名,则阻止QQ.exe运行的规则将没有用了,那么QQ也就可以运行了。这个问题怎么办呢,我这里做一下实验,大家看看吧。

我们知道,一个程序运行,会在内存中产生一个进程,真正结束一个程序,其实是把对应的进程结束了。而其实进程只不过是一个外壳,真正起了作用的应该是进程里面调用的线程,如果一个进程不能调用它需要的线程,那么进程的运行将会受到影响,甚至不能运行。(更多资料请google一下,关于进程线程的资料网上很泛滥)

那么思路就来了,文件可以改名,我们防不了,但是进程调用的线程一般用户就不能改了,因为改了也就调用不了了,除非把程序作修改……于是我们可以通过禁止读取执行某程序调用的重要dll或exe而使得该程序不能运行。大家都看过水哥防ARP的视频,里面用的就是这个方法,没看的赶紧看。

既然水哥都有视频了,为什么我还要发帖说呢?

第一,看帖的人比看视频的人多(或者看了我的帖,没看那个视频的都会去了^_^)。

第二,这个是主要目的,我这次查找QQ.exe调用的dll,并不是用了其他工具,而是Windows下的命令提示符的命令,我想以此鼓励大家多发掘身边的资源,其实有用的东西到处都是,你需要的东西在论坛上、网络上、系统上都很齐,很多都很容易就找到,就不要不做工作只管问了,搜索也是一个能力,对大家以后的工作是很有帮助的。

第三,当一切都看似顺理成章的时候,你是否想过会有问题呢?看吧。

重新回到正题,说说我是怎么做的吧。

1、都知道netstat可以查看当前连接的端口,那么我们看看netstat可以加入的参数都有什么:开始-运行-cmd回车-netstat -w回车。

2、运行QQ,在命令提示符中输入netstat -ano回车,查看当前打开的端口的信息。

为什么netstat后面加-ano?看看第1点中的图就明白了,特别说一下-o参数,用于查看连接在该端口上的进程的PID。

3、那么我们怎么知道QQ连接了那些端口呢?由2中的图知道,我们有端口连接着的进程的PID,只要知道QQ现在的PID,我们就知道QQ连接了那些端口了。打开任务管理器,点击查看菜单下的“选择列”。

4、出现如下对话框,钩选PID(进程标识符),然后确定。

5、现在我们看到QQ当前的PID了,如图是3236。

6、对比一下2中的图,不难看出,QQ和一大堆UDP端口连接了,好了,在命令提示符中输入netstat -anbv -p udp回车,会看到如下信息。

参数-anbv -p的作用?-b 和-v配合使用,用于查看进程调用了那些组件(线程);-p udp则是只查看udp端口的情况,具体请参考第1点中的图。

PS:可以用ctrl+c结束信息的输出,由于使用了-bv参数,信息输出会有点慢,而且端口多,看到需要的信息后就可以ctrl+c结束信息的输出了。

7、好了,从第6点中的图,我们得知QQ.exe调用了QQBaseClassInDll.dll这样一个文件,那么我们现在关闭QQ,开始编写我们的规则,如下。

8、编写好规则,确定之后,重新运行QQ,运行不了了。即使把QQ.exe改名,也运行不了了。

9、好了,一切看似顺理成章,成功解决“编写规则阻止QQ.exe运行,但QQ改名后还能运行”的问题了。不过,现在是新的问题出现的时候了,当我去掉规则,尝试运行改了名的QQ.exe的时候,出现情况了……QQ不能运行。

为什么呢?

10、重新留意第6点中的图,发现QQ.exe在运行中调用了QQ.exe,或者这就是导致QQ.exe改名后QQ不能运行的原因。

11、当然,既然能提出“通过把QQ.exe改名,则阻止QQ.exe运行的规则将没有用了,QQ于是可以运行”这个思路,应该就有其原因,我不知道他有没有尝试过,或者他尝试过,或者其他版本的QQ可以,但我这里的2007版本QQ.exe改名后,就运行不了了。这里我就不再做试验了,有兴趣的人做吧。

总结

上面只是说了我研究这个问题的思路,最后有没有真正解决问题呢?这个就见仁见智了,但希望能达到我一开始说的那些目的吧,希望大家找资料要仔细,身边的工具和资源要好好利用。还有就是当大家发表言论的时候,最好做做实验,当一切都好像顺理成章的时候,可能其中还是存在问题的。

说一下,下午太累了,就只是想着禁用自己机器上的QQ……所以……

不过可以从图6看出,QQ本来自身就有携带MFC42.dll的,所以开始的时候我才会禁用那个……估计那时有点晕了……当时写的是d:\tencent\qq\mfc42.dll。

开始的规则当然是不可行的,规则已经更改现在的规则应该没有问题。

主要还是想大家看个思路,希望对大家有帮助。

特此鸣谢:感谢麦粉_一笑而过为我指出问题,也感谢麦粉_狂雨飞星说出意见,最后感谢水哥的指引。

[ 本帖最后由 飞花 于 2007-11-2 22:56 编辑 ]

附件: 您所在的用户组无法下载或查看附件

需要进行研究确认,谢谢楼主提供思路!!!

路过,长个知识!!

麦穗学习中.......

mfc42.dll是微软Microsoft MFC程序库文件(VC6)

用这个规则,其他需要调用MFC42.Dll 程序也 运行不了 .

真是好帖。向lz学习。

学习了很有 启发!!

这个规则没有实用价值。

(1)你不可以使用通配符来禁止任意程序调用mfc42.dll;否则……

(2)如果别人是在程序放在U盘上运行呢?或者是在其他任意目录(名)下?这样这个规则仍然是失效了。

但是楼主给了我们很多知识。太感谢了!

我以前常常用netstat 命令,一直没有注意它还有这么多的扩展开关。

这家伙很懒,什么也没留下。

飞花犯了一个低级错误,在规则中阻挡读取的文件并不是QQ的问题,如果是其他公用的文件那么后果就严重了,所以这里我们需要阻挡的是QQBaseClassInDll.dll,希望尽快修正你的规则和文字

非站务信息请不要PM我,一律不回;求助或技术讨论请论坛开贴,谢谢

重在刺激大家的发掘能力~呵呵~

抛块砖头,希望能引出些玉。

照这个方法阻止QQ迷你首页也是轻而易举的事情了

Http://Www.biank.Cn[编客镖局] - 提供专业的安全资讯

是小草就要它装饰大地,是参天大树就要它成为栋梁之材!

恩。。这个思路很有启发意义。。。。赞一个。。

人生若只如初见。。。。。。

有用的东西当然收起来!

好好学习楼主的思路~~~~~

这个规则的实用意义我还没有弄太清楚,自己的电脑为什么安了后又要禁止?

我爱DIY,大家好

强人啊。这也可以。。没事研究下


 

评分:0

我来说两句

seccode