困扰我多年的问题,用vscode也会出现相似的错误。网上的许多方案都是下载360,火绒相似的方案,可是治标不治本,过一段时间又很差了。其根本缘由是映像劫持形成的,能够理解成病毒,下面我主要介绍一下:程序员
映像劫持的根本缘由就是被恶意程序篡改了注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options。命令行
假如在这里新建一个子项notepad.exe,再在这子项里新建一个REG_SZ的名字为Debugger,内容为cmd.exe的值项。这样就会实现映像劫持了,这样你每次用记事本的方式打开文本文件时,却打开的是命令提示符的窗口。相信你也遇到过相似的状况吧。一下木马,病毒就是经过这个让杀毒软件和防火墙之类的应用程序,启动不起来。调试
Debugger参数的本意是为了让程序员可以经过双击程序文件直接进入调试器里调试本身的程序,曾经调试过程序的朋友也许会有一个疑问,既然程序启动时都要通过IFEO这一步,那么在调试器里点击启动刚被Debugger参数送进来的程序时岂不是又会由于这个法则的存在而致使再次产生一个调试器进程?微软并非傻子,他们理所固然的考虑到了这一点,所以一个程序启动时是否会调用到IFEO规则取决于它是否“从命令行调用”的,那么“从命令行调用”该怎么理解呢?例如咱们在命令提示符里执行taskmgr.exe,这就是一个典型的“从命令行调用”的执行请求,而咱们在点击桌面上、普通应用程序菜单里的taskmgr.exe时,系统都会将其视为由外壳程序Explorer.exe 传递过来的执行请求,这样一来,它也属于“从命令行调用”的范围而触发IFEO规则了。为了与用户操做区分开来,系统自身加载的程序、调试器里启动的程 序,它们就不属于“从命令行调用”的范围,从而绕开了IFEO,避免了这个加载过程无休止的循环下去。因为Debugger参数的这种特殊做用,它又被称为“重定向”(Redirection), 而利用它进行的攻击,又被称为“重定向劫持”(Redirection Hijack),它和“映像劫持”(Image Hijack,或IFEO Hijack)只是称呼不一样,实际上都是同样的技术手段。code
这里介绍一个最简单粗暴的办法 cmd -> regedit -> 找到image file execution options 删除360提示的文件夹 而后设置权限 得到system彻底控制的权限 而后删除这个文件夹 最后取消image file execution options的system用户的全部权限,这样一来外界就没法对此进行修改了。进程