揪出隐藏在背后的DLL黑手

2016-01-29 18:41 25 1 收藏

揪出隐藏在背后的DLL黑手,揪出隐藏在背后的DLL黑手

【 tulaoshi.com - windows 】

  在Windows中,几乎所有应用程序都会用到DLL(动态链接库)文件,它的正常与否关系到软件能否正常运行。很多软件故障也和它有直接关系。但应用程序往往会调用几十个DLL程序,怎么判断谁是“罪魁祸首”呢?  

  案例回放:在一次非法操作后,Windows XP“搜索助理”变成一张“白板”,不仅如此,“控制面板”中“用户账户”项也显得“面无表情”。点击“开始→帮助和支持”,鼠标一阵闪烁却始终不见“帮助和支持”程序界面的踪影。  

  案例分析:凭感觉,笔者认为系统中的某个DLL文件已经注销、丢失或损坏。但Windows中几乎每个程序都要调用成十上百个DLL文件,如果按常规方法一个个寻找分析,无异于大海捞针。考虑到三个程序同时“毁容”,应该是受同一个(或几个)DLL文件的影响。为此必须找到上述这三个程序共同使用的DLL文件,然后,从中找出“幕后真凶”。  

  查找与比对 

  第一步:先从“搜索助理”入手,先弄清其“身世来历”。在另外一台装有Windows XP的机子中打开“搜索助理”,同时按Ctrl+Alt+Del键调出“任务管理器”,在“应用程序”选项卡中,选中“搜索助理”并右击,选择“转到进程”,呵呵,原来它是Explorer.exe(资源管理器)的一部分。  

  第二步:用类似方法可得知“帮助和支持”属于进程Helpctr.exe,但在“用户账户”中只能用观察比较的方法查出其归属进程mshta.exe。  

  小提示  

  可通过打开、关闭“用户账户” 的方法比较“任务管理器”中的变化来确定其所属的进程;也可以在打开“搜索助理”时,在“命令提示符”中输入“tasklist /fo tableC:acc1.txt”,在关闭该程序后,在“命令提示符”中输入“tasklist /fo tableC:acc2.txt”,然后用fc命令进行比较“fc C:acc1.txt C:acc2.txtC:acc.txt”,比较得出的多余项即为该程序所属的进程。  

  第三步:重启电脑,下面要请软件LISTDLLS出场了。到这里下载该软件,然后将listdlls.exe移动到C:Windows,按Ctrl+R打开“运行”框,输入“cmd”,在“命令提示符”中输入:  

  listdlls -r explorer.exeC:explorer1.txt。

  接着打开“搜索助理”,再次在“命令提示符”中输入:listdlls -r explorer.exeC:explorer2.txt  

  最后用fc命令进行比较:  

  fc C:explorer1.txt C:explorer2.txtC:explorer.txt。  

  这样打开C:explorer.txt文件,对比后多出的文件即是“搜索助理”调用的DLL文件。  

  小提示  

  ListDlls的用法为:listdlls [-r] [processname  

  pid]或listdlls [-r] [-d dllname]  

  第四步:重启电脑,用命令“listdlls -r helpctr.exeC:helpctr.txt”得到“帮助和支持”所使用的DLL文件。此处重启是为了使已经没有使用的DLL文件从内存中卸载。  

  第五步:再次重启,用命令“listdlls -r mshta.exeC:mshta.txt”得到“用户账户”使用的DLL文件。  

  筛选最后“真凶”  

  分析explorer.txt中的DLL文件,其中文件目录中含有“srchasst”的,均为“搜索助理”单独调用的文件。剩余的文件分别为C:Windowssystem32目录下的sxs.dll、vbscript.dll、jscript.dll文件。用“搜索”的方法可以发现文件helpctr.txt和mshta.txt中均存在上述文件,看来“罪魁祸首”非这三者莫属。  

  回到原来的电脑,发现三个文件均存在,也并未损坏。用命令regsvr32命令分别进行注册。果然,在对其中的jscript.dll文件的进行注册后(使用命令 regsvr32 jscript.dll),“白板”程序终于恢复其美丽的“容颜”。  

  图老师小编有话说:  

  系统很多软件故障都是由DLL文件引起的。以前我们往往更关注DLL文件是否丢失,其实还有很多原因是没有注册成功造成的。看了本文介绍的方法,我们就可以很容易地筛选出造成故障的DLL文件,最终解决故障。

来源:http://www.tulaoshi.com/n/20160129/1506872.html

延伸阅读
标签: windows 操作系统
可能出于系统安全性的考虑,Windows XP把不少的组件隐藏了起来,即使你不使用这些应用组件,你也无法将它们从系统中删除。笔者下述的方法,可以让大家删除Windows XP这些隐藏的组件。 第一步,显示系统文件夹和文件 由于Windows XP默认地把系统文件隐藏起来,从而在“Windows资源管理器”窗口中看不到它们,所以我们要让这些...
标签: 婴儿
宝宝发烧能用退烧药吗?     在宝宝成长的过程中,难免会出现感冒发烧等疾病,因此家长们都希望可以了解关于宝宝发烧相关知识,以便帮助宝宝及时脱离危险。那么今天就跟随图老师小编一起来了解下宝宝发烧能用退烧药吗?     孩子发烧应该叫医生吗?     任何宝宝...
标签: 办公软件
    1 打开word 2 在word里面敲入汉字 “胡” 3 圈住“胡” 字,打开鼠标右键菜单,点击 “ 字体 ” 4 在“字体”属性栏里面,改变 字体为“隶书” 改变效果为“ 空心 ” 改变大小为: 初号 5 关闭字体属性栏,将页面的显示比例设为“500%” 事情还没完呢,如果将字体设为"幼圆",你...
Lucy:外行人对交互设计的第一印象是什么?画线框图的?做草稿的? 的确,大家所看到交互设计师的日常工作成果都是一些线框图,从表面上理解的确是这样。 其实,交互设计师做的远远不止这些。往深一步想,信息架构、界面、流程,都是设计师需要考虑的问题。下面,想谈一下我理解的交互设计。 一:信息 人们每天面对那么多信息,在杂乱的信息中...
我们都听说过,微波炉工作时会产生辐射波,这些辐射会影响胎儿的正常发育。微波炉的工作原理是通过电磁辐射波制造热量,激发食物中的水分子迅速活跃起来,从而达到加热的目的。这种电磁辐射达到一定量的话,对我们的身体确实是有着不良影响的。 微波炉的隐藏危机-隐藏在厨房里的危险因子 隐藏在厨房里的危险因子 厨房是现...

经验教程

350

收藏

19
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部