exe程序 不能运行 原理及解决

来源:百度文库 编辑:神马文学网 时间:2024/04/20 08:34:44
2008-10-05 11:56
常见的两种禁止运行exe程序的手段:
1、镜像劫持(IFEO)
这种办法,通过在注册表中填写IFEO信息,即可实现全盘禁止运行某一指定程序。
举个例子,我们来禁止运行QQ。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下,新建一个项,名字为qq.exe;再在qq.exe项下面新建一个 字符串值(REG_SZ),名字为debugger,赋值为qq.exe。
双击你的QQ,试图打开一个新的QQ,将会出现以下错误提示:

当然了,若要恢复,就删除这个项吧。
2、偷梁换柱ws2_32.dll
在你要禁止运行的exe程序所在目录下,新建一个文件夹,命名为 ws2_32.dll 即可。
仍以禁止运行QQ为例。我的QQ装在了 D:\QQ\ 下,我在 D:\QQ\ 文件夹中,新建名字为 ws2_32.dll 文件夹,双击运行QQ,出现以下错误提示:

原因:ws2_32.dll是Windows Sockets应用程序接口,用于支持Internet和网络应用程序。程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件,位于系统文件夹中,Windows在查找动态链接库文件时,会先在应用程序当前目录搜索,如果没有找到然后才会搜索Windows所在目录,如果还是没有会搜索system32和system目录。我们手动新建的 ws2_32.dll文件不具备真正地ws2_32.dll文件所具有的功能,所以程序就无法运行了。
自然,删除这个新建的 ws2_32.dll 文件夹后,QQ就恢复了。
3、二者比较
可以看出,IFEO的通用性更强,只需改变注册表,无论这个软件装在何处,都能够有效的禁止其运行;而 ws2_32.dll 就必须要精确定位到目标程序所在的目录。
但是,从“免杀”的角度来看的话,IFEO是会被360等系统维护工具轻松发现的;而 ws2_32.dll 则不会被发现,甚至会被杀软等当作一个“必须品”而留下来。
 
呵呵,讲了这么多,大家有什么想法没有啊?嘿嘿…我曾经给我同学搞过恶作剧的~
当然了,有了这个知识,遇见类似的情况,你也会从容的处理了吧?呵呵……