记一次被Restorator坑害的经历

起因

今天更新百度干净云3.0的时候,需要用到一下资源工具,于是一番寻找,终于找到了一个几年前的老古董–Restorator

过程

症状

打开的时候,他会问你是否关联.res文件,我选择了否,这个操作平常不会有问题,但是今天与众不同,因为我今天使用的环境是Windows 10。 执行过之后,整个系统所有exe双击都没有反应了,右键观察,发现没有了open选项,也没有了Run as Administrator这个选项。

问题定位

微微发呆之后我意识到,这很有可能是文件关联的问题,有可能是某种病毒之类的软件恶意修改了我的.exe的文件关联。

尝试解决

  1. 我马上要运行regedit来修复,可是提示不支持的接口,我一想对啊,regedit也是个exe,去哪里修改后缀为com试试,也是同样情况,修改为cmd也不行。
  2. 用.reg尝试,发现导入失败,因为我没有关闭uac。
  3. 这时我发现右键的gui bash竟然奇迹般的能运行,在上面运行,发现同样是uac的问题,不能运行。
  4. 本来都准备关闭uac了,突然灵机一动,用bat试试,发现.bat这个后缀竟然没有被篡改,热泪盈眶,立马往里面
regedit
pause

然后右键Run as Administrator,终于打开了注册表。

问题解决

我去HKEY_CLASSES_ROOT下面一看,果然.exe被关联为BomeRst.com,我一看这TM不是Restorator的域名吗,狗日的! 果然修复为exefile。 然后再去exefile下的HKEY_CLASSES_ROOT\exefile\shell\open\command,将默认键值修改为%1" %*,同样的把HKEY_CLASSES_ROOT\exefile\shell\runas\command也做类似修复。 以此类推把所有篡改的全部修复即可。

深究

google之下发现这个问题早在2005年就被提出了。What the hell?!.

作者的话非常有意思。

I’m very sorry for what has happened to you. Let me start with saying that this is neither intended behavior nor has it been reported by any of the 1000s of users before. We tested registry handling handling to the max to ensure that Restorator doesn’t leave traces and that it does not leave anything in a corrupt state when uninstalled. Frankly, I have no idea how your problem could have happened because Restorator doesn’t even have a function to associate .exe or .com files!

翻译过来就是

对于你的遭遇我很抱歉,但这不是我们有预期的行为,也没有被之前的数以千计的用户反馈。我们已经测试了在注册表上进行了非常多的处理来确保我们卸载的时候不会留下任何痕迹。坦白说,我也不知道这是什么鬼,因为我们根本没有写过对.exe或者.com处理的函数!

妈的,这什么鬼?stupid!2005年,到我用的2009版,已经过去了4年的十年,仍然没有修改这个严重的bug。

自动化解决方案

经过反复尝试,做了一个脚本如下,用来自动恢复。

在此,我要由衷的感谢作者没有篡改.bat的关联。

reg add HKCR\.exe /ve /t REG_SZ /d exefile /f
reg add HKCR\.scr /ve /t REG_SZ /d scrfile /f
reg add HKCR\.com /ve /t REG_SZ /d comfile /f
reg add HKCR\.ocx /ve /t REG_SZ /d ocxfile /f
reg add HKCR\.cpl /ve /t REG_SZ /d cplfile /f
reg add HKCR\.dll /ve /t REG_SZ /d dllfile /f
reg add HKCR\.drv /ve /t REG_SZ /d drvfile /f
reg add HKCR\.ocx /ve /t REG_SZ /d ocxfile /f
reg add HKCR\.sys /ve /t REG_SZ /d sysfile /f
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\OpenWithProgids /v BomeRst.exe /f
reg delete HKCR\BomeRst.acm /f
reg delete HKCR\BomeRst.ax /f
reg delete HKCR\BomeRst.bpl /f
reg delete HKCR\BomeRst.cnv /f
reg delete HKCR\BomeRst.com /f
reg delete HKCR\BomeRst.cpl /f
reg delete HKCR\BomeRst.dcr /f
reg delete HKCR\BomeRst.dll /f
reg delete HKCR\BomeRst.dpl /f
reg delete HKCR\BomeRst.drv /f
reg delete HKCR\BomeRst.exe /f
reg delete HKCR\BomeRst.flt /f
reg delete HKCR\BomeRst.ocx /f
reg delete HKCR\BomeRst.rc /f
reg delete HKCR\BomeRst.res /f
reg delete HKCR\BomeRst.scr /f
reg delete HKCR\BomeRst.sys /f
reg delete HKCR\BomeRst.tlb /f
reg delete HKCR\BomeRst.tsp /f
reg delete HKCR\BomeRst.wpc /f
reg delete HKCR\.acm /f
reg delete HKCR\.ax /f
reg delete HKCR\.bpl /f
reg delete HKCR\.cnv /f
reg delete HKCR\.dcr /f
reg delete HKCR\.dpl /f
reg delete HKCR\.flt /f
reg delete HKCR\.rc /va /f
reg delete HKCR\.res /va /f
reg delete HKCR\.tlb /va /f
reg delete HKCR\.tsp /va /f
reg delete HKCR\.wpc /f

后续

这篇博文不知道当发不当发,也许有心术不正的人,看完本篇博文会想歪点子。

然而技术是把双刃剑,我由衷的希望大家拿技术用来快意恩仇,而非小人做派。

版权说明

本页地址为 https://post.zz173.com/detail/55519.html,本文作者为落月
本文采用 署名-相同方式共享 3.0 中国大陆许可协议 ,分享、演绎需署名且使用相同方式共享。转载请务必保留本页网址和作者信息,否则即为侵权。

– EOF –