设为主页 | 加入收藏 | 繁體中文

揪出胡作非为的DLL黑手

  在Windows中,几乎全部应用步伐都会用到DLL(动态链接库)文件,它的正常与否关系到软件可否正常运行。许多软件故障也和它有直接关系。但应用步伐每每会挪用几十个DLL步伐,怎么果断谁是“罪魁祸首”呢?
  案例回放:在一次合法操作后,Windows XP“搜索助理”酿成一张“白板”,不但云云,“控制面板”中“用户账户”项也显得“面无心情”。点击“开端→帮助和支持”,鼠标一阵闪烁却始终不见“帮助和支持”步伐界面的踪影。
  案例分析:凭感觉,笔者认为体系中的某个DLL文件曾经刊出、丢失或损坏。但Windows中几乎每个步伐都要挪用成十上百个DLL文件,如果按常规要领一个个探求分析,无异于易如反掌。考虑到三个步伐同时“毁容”,应该是受统一个(或几个)DLL文件的影响。为此必须找到上述这三个步伐配合利用的DLL文件,然后,从中找出“幕后真凶”。
  查找与比对
  第一步:先从“搜索助理”动手,先弄清其“身世来源”。在别的一台装有Windows XP的机子中打开“搜索助理”,同时按Ctrl+Alt+Del键调出“任务管理器”,在“应用步伐”选项卡中,选中“搜索助理”并右击,选择“转到历程”,呵呵,原来它是Explorer.exe(资源管理器)的一部门。
  第二步:用雷同要领可得知“帮助和支持”属于历程Helpctr.exe,但在“用户账户”中只能用视察比较的要领查出其归属历程mshta.exe。
  小提示
  可经过打开、关闭“用户账户” 的要领比较“任务管理器”中的变化来确定其所属的历程;也可以在打开“搜索助理”时,在“命令提示符”中输出“tasklist /fo table>C:acc1.txt”,在关闭该步伐后,在“命令提示符”中输出“tasklist /fo table>C:acc2.txt”,然后用fc命令进行比较“fc C:acc1.txt C:acc2.txt>C:acc.txt”,比较得出的多余项即为该步伐所属的历程。
  第三步:重启电脑,上面要请软件LISTDLLS进场了。到这里下载该软件,然后将listdlls.exe移动到C:Windows,按Ctrl+R打开“运行”框,输出“cmd”,在“命令提示符”中输出:
  listdlls -r explorer.exe>C:explorer1.txt。
  接着打开“搜索助理”,再次在“命令提示符”中输出:listdlls -r explorer.exe>C:\explorer2.txt
  末了用fc命令进行比较:
  fc C:\explorer1.txt C:\explorer2.txt>C:\explorer.txt。
  这样打开C:\explorer.txt文件,对比后多出的文件即是“搜索助理”挪用的DLL文件。
  小提示
  ListDlls的用法为:listdlls [-r] [processname
  pid]或listdlls [-r] [-d dllname]
  第四步:重启电脑,用命令“listdlls -r helpctr.exe>C:\helpctr.txt”失掉“帮助和支持”所利用的DLL文件。此处重启是为了使曾经没有利用的DLL文件从内存中卸载。
  第五步:再次重启,用命令“listdlls -r mshta.exe>C:\mshta.txt”失掉“用户账户”利用的DLL文件。
  挑选末了“真凶”
  分析explorer.txt中的DLL文件,此中文件目次中含有“srchasst”的,均为“搜索助理”独自挪用的文件。剩余的文件分别为C:\Windows\system32目次下的sxs.dll、vbscript.dll、jscript.dll文件。用“搜索”的要领可以发明文件helpctr.txt和mshta.txt中均存在上述文件,看来“罪魁祸首”非这三者莫属。
  回到原来的电脑,发明三个文件均存在,也并未损坏。用命令regsvr32命令分别进行注册。公然,在对此中的jscript.dll文件的进行注册后(利用命令 regsvr32 jscript.dll),“白板”步伐终于恢复其俏丽的“容颜”。
  小编有话说:
  体系许多软件故障都是由DLL文件引起的。以前我们每每更存眷DLL文件能否丢失,其实另有许多原因是没有注册成功形成的。看了本文先容的要领,我们就可以很容易地挑选出形成故障的DLL文件,最终解决故障。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: