禁止程序运行的方法
1. 通过注册表或组策略限制程序运行
打开HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer ,新建DWORD 值,名称为DisallowRun ,值为1 ,然后在Explorer 键下建一主键,名称为DisallowRun ,接着在DisallowRun 下建一字符串值,名称任意,可以随便设一个数,值为要禁止运行的程序的名称,如
“qq.exe”,操作完成后需要注销或重启桌面,以后在资源管理器中运行QQ时,就会提示“本次操作由于这台计算机的限制而被取消”。另外还有种方法是通过组策略来禁止程序运行,不过组策略与注册表是等价的,只是组策略更方便一些而已,方法是“用户配置-管理模板-系统-不要运行指定的
Windows应用程序”。这种方法用来防止在我的电脑中运行某个程序,实质上是限制对 ShellExecute 的调用。
2. 通过映像劫持禁止某程序运行
打开HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
NT\\CurrentVersion\\Image File Execution
Options 键,在它下面建一主键,名称为要禁止运行的程序名,如“qq.exe”,然后再在qq.exe下建一字符串值,名称为Debugger ,最好是把值设为
ntsd -d ,这样这个程序就不能运行了.
3. 利用manifest文件限制某程序运行.
在程序目录内新建一个 目标名称 +
.manifest 的文件夹,例如::禁止QQ.exe 则新建文件夹
QQ.exe.manifest 的文件夹。(程序改名后也可以运行)
4. 禁止某类程序运行
禁止网络程序运行
如禁止QQ,可以在其安装目录中创建一个名为 ws2_32.dll 的文件夹,ws2_32.dll是访问网络时所必需的库文件,由于程序在查找文件时
只认名称,不认属性,所以QQ运行后就会在当前目录中找到ws2_32.dll这个文件夹,然后把它当作文件去执行,然后出错,提示“应用程序正常初使化
失败”。
禁止其它程序运行
若要禁止VB6 的程序运行可以在其目录中创建一个
msvbvm60.dll
的文件夹,若要禁止VC6 的程序运行可以在其目录中创建mfc42.dll 的文件夹。有些病毒还会在其文件夹中再创建一个无法删除的文件夹,如建立一个加点的文件夹(如在cmd下输入:md
c:\\陆希鹏..\\ 回车就可以)
5. 设置权限
使用权限的前提是目标程序所在的分区必须是 NTFS
文件系统,方法是右击一个文件选择属性,在“安全”选项卡中先选择一个用户,然后在下面的列表中选择它
的权限,也可以单击高级以便设置更多的权限。注意,如何没有“安全”选项卡的话,可在文件夹选项中取消“使用简单文件共享(推荐)”这个选项,同时还有检 查注册表中
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer
这个键下是否存在 NoSecurityTab
这个DWORD 值,有则删去。如果经过以上设置后还找不到“安全”选项卡,那么就是 rshx32.dll
这个文件没有注册或者不存在,这时可以使用 regsvr32 来注册这个文件。除此之外,还可以使用 cacls
命令来修改文件的权限。具体方法可以在cmd里输入 cacls /? 来获得帮助。
6. 映像劫持法禁运程序
VBS 脚本
需要限制时运行该脚本,脚本中包含的字符串
QQ.exe 、Thunder5.exe 和 Iexplore.exe
表示禁用QQ、迅雷和IE* 添加其他禁止运行程序语句:or name='程序' ,停止禁用时结束
wmiprvse.exe 和 wscript.exe 进程就可以了. 比组策略的好处是:不会有
被管理员禁止... 提示窗口,但修改名称后程序可以运行。
dim qobj,pipe,good do good=\".\" set qobj=getobject(\"winmgmts:\\\\\"&good&\"\\root\\cimv2\") set pipe=qobj.execquery(\"select * from win32_process where name='Thunder5.exe'or name='Iexplore.exe' or name='QQ.exe'\") for each i in pipe i.terminate() next wscript.sleep 1 loop
BAT 脚本
@echo off & set wind=1 :verybat if %wind%==1 ( reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\QQgame.exe\" /v debugger /t reg_sz /d debugfile.exe /f>nul set wind=0 echo QQ游戏已禁止 按任意键后将解除
echo. & echo 退出请关闭窗口 ) else ( reg delete \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\QQgame.exe\" /f>nul set wind=1 echo QQ游戏已解除禁止 按任意键后将禁止运行 echo. & echo 退出请关闭窗口 ) pause>nul & cls & goto verybat
@echo off mode con cols=84 lines=21 title 注册表限制威金、熊猫、金猪病毒运行 color 4f cls echo. echo 注册表限制威金、熊猫、金猪病毒的运行 for /XP echo ----------------------------------------------------------------- echo. echo 此批处理可以限制2007年2月9日前的威金、熊猫、金猪病毒运行。 echo 比如运行SETUP.EXE的熊猫病毒,该病毒会生成c:\WINDOWS\SYTEM32\FuckJacks.exe echo 由于限制了FuckJacks.exe运行,所以不管怎么双击SETUP.EXE都不能成 echo 功运行病毒c:\WINDOWS\SYTEM32\FuckJacks.exe echo. echo [F] 启用限制 [U] 解除限制 [Q] 任意键退出 echo. echo ----------------------------------------------------------------- echo. set route=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionImage\File Execution\Options SET Choice= SET /P Choice= 请选择要进行的操作: IF /I '%Choice:~0,1%'=='f' GOTO fix IF /I '%Choice:~0,1%'=='u' GOTO unfix exit
:fix echo. echo 正在进行免疫操作,请稍侯... :: 下一句中的 \"全盘禁止运行%%i\" 可以替换成任意的字符,都能起到全盘禁止运行指定exe的效果 for /f %%i in (list.ini) do ( reg add \"%route%\\% %i\" /v Debugger /t REG_SZ /d 全盘禁止运行%%i /f >nul 2>nul )
cls echo.&echo.&echo.&echo.&echo. echo 已在注册表中限制威金、熊猫、金猪病毒的运行。 echo 如已中此类病毒,运行批处理后,请重启杀毒 echo.
|