首页编程shellexecutehooks(shellexecutehooks是什么)

shellexecutehooks(shellexecutehooks是什么)

编程之家2023-11-01120次浏览

大家好,感谢邀请,今天来为大家分享一下shellexecutehooks的问题,以及和shellexecutehooks是什么的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

shellexecutehooks(shellexecutehooks是什么)

shellexecutehooks是什么

一般的注册表都会有这个项的,对应的系统目录是%ProgramFiles%\Internet Explorer\shellexecutehooks\,有些病毒总是利用这里让病毒自启动,例如你可能会在注册表里看到ShellExecuteHooks里包含{026307B0-07B0-2631-B026-7B0637B02631}之类的,因此要把它删除掉,再有你会在%ProgramFiles%\Internet Explorer\shellexecutehooks\发现很多类似这样的文件(而且有时是及其大量):

IEXPLORE.Bak

IEXPLORE.bbs

IEXPLORE.Dat

IEXPLORE.ime

IEXPLORE.jmp

shellexecutehooks(shellexecutehooks是什么)

IEXPLORE.New

IEXPLORE.Sys

IEXPLORE.Tmp

IEXPLORE.win

其中大部分很有可能是病毒,因此遇到老是杀软总是杀不掉的病毒,你除了删除相应的注册表键值外,还要把IE的临时文件夹删掉。

...说明:外壳钩子,shellexecutehooks这个是什么东西看不懂

基本概念

shellexecutehooks(shellexecutehooks是什么)

钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控

制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

钩子也可以理解为WINDOWS留给我们的后门,比如你想控制键盘,在DOS时代很简单通过INT即可,而WINDOWS时代不允许我们直接操作硬件;由于WINDOWS是消息驱动,所以我们可以拦截键盘消息以达到控制键盘的目的。但是控制自己进程的消息固然很简单,要控制所有进程消息要利用钩子了。将钩子函数放在DLL中,所有的有关键盘的消息都必须经过钩子函数过滤,这样你就可以为所欲为了。

WINDOWS下的钩子程序就像DOS下的TSR(内存驻留程序)一样,用来截获WINDOWS下的

特定的消息,进行相应的处理。比如可以截获键盘输入的消息,来获得键盘输入的信息等。钩子程序可以通过API调用来驻留和脱钩。

运行机制

每一个Hook(钩子)都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的,应用程序定义的,被Hook子程调用的回调函数,也就是该钩子的各个处理子程。当与指定的Hook类型关联的消息发生时,系统就把这个消息传递到Hook子程。一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

Windows并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows便释放其占用的内存,并更新整个Hook链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。

钩子的分类

一.按事件分类,有如下的几种常用类型

(1)键盘钩子和低级键盘钩子可以监视各种键盘消息。

(2)鼠标钩子和低级鼠标钩子可以监视各种鼠标消息。

(3)外壳钩子可以监视各种Shell事件消息。比如启动和关闭应用程序。

(4)日志钩子可以记录从系统消息队列中取出的各种事件消息。

(5)窗口过程钩子监视所有从系统消息队列发往目标窗口的消息。

此外,还有一些特定事件的钩子提供给我们使用,不一一列举。

二.按使用范围分类,主要有线程钩子和系统钩子

(1)线程钩子监视指定线程的事件消息。

(2)系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)

中。这是系统钩子和线程钩子很大的不同之处。

几点需要说明的地方:

(1)如果对于同一事件(如鼠标消息)既安装了线程钩子又安装了系统钩子,那么系统会自动先调用线程钩子,然后调用系统钩子。

(2)对同一事件消息可安装多个钩子处理过程,这些钩子处理过程形成了钩子链。当前钩子处理结束后应把钩子信息传递给下一个钩子函数。而且最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

(3)钩子特别是系统钩子会消耗消息处理时间,降低系统性能。只有在必要的时候才安装钩子,在使用完毕后要及时卸载。

ShellExecuteHooks 我找不到这个文件啊

sM.dll时出错找不到指定的模块。怎么办?这个问题实际上是删除不干净造成的。。在系统的启动项里有残留。。解决方法:开始--运行--输入 regedit打开注册表--定位到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

找到CnsM.dll删除即可...这个找不到建议去下个 360安全卫士2.:"0x…"指令引用r的"0x…"内存,该内存不能为 read,或written.要终止,按“确定”,要调试按“取消”运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。

“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。

“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。

一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。硬件方面:

一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。

假如是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,就要检查是不是内存出问题了或者和其它硬件不兼容。

软件方面:

先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。

例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。

解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替/运用腾讯浏览器/

例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。

解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键,属性,也会出现兼容性的选项。

例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read”的提示。

解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。

例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“Ox060692f6”(每次变化)指令引用的“Oxff000011”内存不能为“read”,终止程序请按确定。

解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。

例五:双击一个游戏的快捷方式,“Ox77f5cdO”指令引用“Oxffffffff”内存,该内存不能为“read”,并且提示Client.dat程序错误。

解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。

例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0*772b548f”指令引用的“0*00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。

解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。

例七:我的笔记本电脑用的XP系统,有时关闭网页时会弹出tbrowser.exe遇到问题需要关闭,然后有弹出0x03e7c738指令引用的0x03e7c738内存,该内存不能为read,请问是怎么回事?

解决方法:先查杀一下病毒,另外如果你安装了浏览增强之类的软件,请卸掉。

例八:从桌面或开始菜单中打开任何一个程序,出现错误提示:"0x........"指令引用的"0x00000000"内存,该内存不能为"read"。省略号代表可变值。而从运行中打开程序没问题。

解决方法:运行regedit进入注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,应该只有一个正常的键值",将其他的删除(默认键值当然不要删除)。

例九:我三个月前配了台机子。系统比较不稳定,三个月内已经重装过多次系统,四五天前刚装过系统,可是经常随机地出现Explorer-应用程序错误,“0x4a01259d“指令引用的“0x00000000"内存。该内存不能为“read"。要终止程序,请单击“确定“。要调试程序,请单击“取消”。如果点确定,windows桌面就不见了。这种问题在之前的系统也出现过,不知道是不是硬件的问题?

解决方法:内存的兼容性问题!遇到这类问题,用户可以自行打开机器把内存的位置调动一下,看问题是否可以解决,如果问题依旧,可与你的朋友调换内存使用。

通过上面的几个例子,可以看到,出现故障的原因有好多种,下面列出已经提到和有可能发生的原因,方便查阅。

问题产生原因原因--解决方法

内存条坏了--更换内存条

双内存不兼容--使用同品牌的内存或只用一条内存

内存质量问题--更换内存条

散热问题--加强机箱内部的散热

内存和主板没插好或和其它硬件不兼容等--重插内存或换个插糟

硬盘有问题--更换硬盘

驱动问题--重装驱动。如果是新系统,要先安装主板驱动

软件损坏--重装软件

软件有BUG--打补丁或用最新的版本。

软件和系统不兼容--给软件打上补丁或者试试系统的兼容模式

软件和软件之间有冲突--如果最近安装了什么新软件,卸载了试试

软件要使用到其它相关的软件有问题--重装相关软件。比如播放某一格式的文件时出错,可能是这个文件的解码器有问题

3.电脑起动不了了,它只能起动到OC fail.please enter setup to change

OC fail settings那儿就不动了,主板可能没电了,换个电池吧!主板没电可能出现的情况还有:电脑时间不准,重启后都是一个时间应该是12:00 bios里的密码都失效 BIOS中自设定的内容丢失(AOPEN的后期主板除外)部份主板会不能启动能启动的主板会提示电池电压低

4.提示hal.dll损坏或丢失,实际上该文件并不一定不存在,可以说,拷个文件回去system32里,根本是不可以解决的.出现这个错误的原因是boot.ini文件出错,导致引导不了机器从指定的路径启动,那样系统搜索其他的路径,而其他路径上是没有hal.dll文件的,就会提示这个错误.一般的解决办法是进入故障恢复控制台,用fixboot命令,如果这样修复不了boot.ini,就用bootcfg/add来重建boot.ini。这个是由于C盘根目录下的boot.ini文件非法,导致默认从C:\Windows启动,但是又由于你的Windows XP没有安装在C盘,所以系统提示找不到HAL.DLL文件。启动因而失败。解决方法是重新编辑Boot.ini文件。

1)、使用Win9X启动盘启动,使用EDIT.EXE命令编辑这个文件。启动EDIT.EXE以后只要按照正确的格式输入Boot.ini文件的内容,保存为Boot.ini文件即可。

2)、使用COPY CON命令创建一个Boot.ini文件。在DOS下输入Copy Con C:\boot.ini以后回车。然后按照Boot.ini文件的格式输入,每输入一行敲一次回车键,当全部内容输入完毕以后,按CTRL+Z,屏幕上会看到^Z的提示。这个时候再敲一次回车,系统会提示1 file(s) copied.这就表示创建成功了。

3)、使用故障恢复控制台里面的bootcfg命令。

4)、在别的电脑上创建好以后,拷贝到受损电脑的C盘根目录上覆盖源文件即可。

还有个办法,你用个u盘从别个那里拷一个 hal.dll文件,然后插在你的电脑上,再用一张系统安装盘放进光驱。在第一选择里,选择修复,就可以进入doc里了。然后从a: b:一直试下去,看到了u盘就要吧用

copy hal.dll c:\windows\system32\hal.dll就可以了,

原理是在安装系统的时候,u盘也会被检测到,就可以用了。5.任务栏找不到了的解决办法在使用电脑的时候会出现系统任务栏莫名其妙消失的现象,现在给大家介绍几种关于Windows XP任务栏消失的解决办法:

1)、按动键盘上的F11键。

2)、按windows健(位于ctrl和alt中间),显示出开始菜单,在空白处单击右键,点击“属性',打开“任务栏和开始菜单属性”,在任务栏中选中“自动隐藏任务栏”,应用后再取消选择。同时选择“锁定任务栏”

任务栏假死现象解决办法:打开控制面板->“日期、时间、语言和区域设置”->“区域和语言选项”->“语言”->“详细信息”->“文字服务和输入语言”->“高级”,选中“关闭高级文字服务”,点击“应用”->“确定”保存设置即可。

缺点:输入法切换栏消失,只能用快捷键“Ctrl+Shift”来切换输入法了。

3)、可能是系统没有正常加载系统文件造成的。按“ctrl+alt+del'打开任务管理器,点击文件,新建任务,输入explorer.exe,确定。

4)、频繁地安装与卸载应用程序、不正常关机、非法操作等,都会造成桌面图标丢失,甚至任务栏被破坏的情况。

系统任务栏被破坏,单击“开始→运行”,键入“Regedit”后回车,然后在注册表编辑器中依次展开

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplore]分支,删除右侧窗口中的“StuckRects”主键,重新启动计算机就可以重现任务栏了。

任务栏上图标也会失而复得。

5)、使用ObjectDock软件时注意,点击“Enable ObjectDock”,在“ObjectDock Properties”选项上点击“Dock Contenls”,取消对“Hide the windows taskbar”选择即可。

6)、任务栏消失,可能是“吞噬”任务栏的蠕虫病毒“威尼亚”(I-Worm/Mujpider.b),该病毒不但会占满中毒者本机资源,还可以通过邮件和聊天工具传播。

7)、用windows XP安装盘选择修复安装explorer.exe。

另外,团IDC网上有许多产品团购,便宜有口碑

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

教育网 ip?教育网ip地址段都有哪些呢java基础?java基础知识有那些