删不掉的恶意桌面广告原理(删不掉的桌面ie图标、淘宝图标等桌面图标)

删不掉的桌面图标-诸葛草帽电脑工作室

        最近接到了一个比较奇怪的案例:桌面上有恶意软件的广告,但是删除不了,也不能重命名。在IceSword和其它工具中找不到它的存在。显然问题出在了Explorer上。正好我的桌面上也有一个请不走的蓝牙链接。如左图:

        用FixIE这个工具清理掉它,发现其实秘密就在注册表HKEY_CURRENT_USER或者HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace项下,这个项顾名思义就是Explorer的一些配置。
        Explorer提供一种名叫“Namespace”的配置,可以在桌面上添加快捷方式。这种快捷方式就像上面提到的那样,删除不掉而且在注册表中又很难直接搜索到(回收站就是这么来的)。如果我们想添加一个,具体怎么做呢?诸葛草帽在这里说一下:
        首先,我们需要一个CLSID。听说过COM组件的同学们可能知道,它是一个128位的大数,意在概率意义上标识“唯一”的COM组件。CLSID完全可以手写一个,只要不与已知的重名就可以了。然后编写一个COM组件。实际上现在没有必要去写一个真正的COM组件。我们只需要在注册表上做手脚罢了。

        1.注册一个假的CLSID。
现在点击“开始”,“运行”,输入“regedit.exe”确定。打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID 后,新建一个项。项名为随便写的一个128位CLSID,格式和其他CLSID尽量保持一致,内容可以瞎编。只要不和已知的重复就可以了。例如的这个就基本写了一堆0。然后在右边的“默认”键中填写我们需要显示的文字(比方我们要做打开任务管理器的快捷方式):

删不掉桌面淘宝-诸葛草帽电脑工作室

在这个CLSID下再新建一个子项,项名为Shell,再在Shell下面再创建一个子项,项名为菜单的名称,再在这个项下面键一个名为Command的子项,然后将右边的“默认”一键的键值设为taskmgr.exe。
如左图:

然后进行最关键的一步操作(之一)!在我们编的那个CLSID项下建立一个名为ShellFolder的项,并在它下建立一个名为Attributes的二进制键,键值为00 00 00 00。这一步的重要性是——有了它之后,右击图标后“删除”选项就没了~~~

如果觉得想搞个图标,就在我们的CLSID项建立一个名为DefaultIcon的项,在右边的“默认”键中填入想要的图标的路径就可以了。(可以使用shell32.dll中的图标,如下图)

删不掉的ie图标-诸葛草帽电脑工作室
删不掉的桌面快捷方式-诸葛草帽电脑工作室

Shell32.dll,130是一个蝴蝶的图标,看不起不错。到这里,我们伪造的CLSID就完成了。之所以说伪造,因为我们没有实际的COM组件,甚至连InprocServer32项也没有,很好很山寨。

2.设置桌面快捷方式
现在进入项:
HKEY_CURRENT_USER或者HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace
新建一个项,项名就是我们的CLSID值。保存后刷新桌面。看看效果还不错吧?

        知道怎么制作的就知道怎么删除了吧,呵呵......

Write a comment

Comments: 2
  • #1

    wshy (Saturday, 24 July 2010 17:08)

    看不明

  • #2

    u=50687 (Sunday, 21 April 2013 21:52)

    This particular article was precisely what I had been in search of!