一个计算机爱好者的不完整回忆(二十七)模拟explorer恶作剧

  网上流行一个在电脑上整人的办法,具体就是把当前桌面抓图,然后把这个图片设置为桌面背景,再把桌面图标全都改成不显示,于是别人点桌面上的图标就会没有任何反应。
  早在2000年左右,我就做过一个类似的恶作剧软件。当时喜欢乱折腾,好像是在windows路径下面有一个system.ini文件吧(这个不确定,反正是一个.ini文件,win98系统),里面有一项是shell=explorer.exe,一猜就是从这里调用的explorer.exe,然后我们才有了桌面和图标,比如我们如果把explorer.exe强制关闭了,那么我们就见不到任何东西了。于是就想尝试一下自己做一个shell。当时我还用VB呢,于是开始用VB做一个windows的外壳。
  首先呢,把桌面抓图,然后直接设置为VB窗体的背景,把shell=换成我自己做的程序,测试了一下效果,果然成功了。看来前面的推断没错。于是开始在这个基础上做各种功能。
  当时把桌面上的图标都抓图了,并且是选中状态和非选中状态两种,用来响应用户的操作,按原来位置摆在窗体上(原来的窗体背景自然也要清理一下)。其实如果现在来实现,那么就不会采用这么笨的办法,应该直接通过访问desktop文件夹中的内容来获取桌面上应该存在的图标和名称,然后绘制到窗体上。当时反正就采用了很笨的办法把桌面上的图标大部分都实现了。对于没能实现的图标,则仍然留在背景图片中,后面也仍然有用。
  实现了桌面图标后,开始做拖动功能,至少用户可以把这个图标拖动,然后再实现双击功能,根据图标的不同由VB打开对应的程序。右键功能只实现了弹出菜单,菜单具体功能并没有实现。
  最难做的其实是开始菜单,当时比较着急——着急恶作剧,所以只实现了一部分功能。对于未实现部分,则也进行了相应的提示。因为当时大家普遍比较习惯通过桌面上的图标和快捷工具栏中的图标启动软件,很少通过开始菜单去运行软件,所以开始菜单中的功能是否完全其实影响不大。
  最后是做通讯功能,由于在这之前我已经做过远程控制软件,所以这部分很简单,代码拷贝过来就可以了。通讯功能主要是让我在自己的机器上可以控制别人的机器可操作的功能。比如我可以让一台机器完全不响应用户操作,默认情况下我的程序可以执行全部实现的功能,但我发出指令后,那台计算机就会按我发出的指令只响应部分功能。
  很多人用了被我控制的机器后会很崩溃,因为经常开机后发现什么都操作不了,不断地在桌面上乱点但就是没响应,点多了还会弹出一个对话框“别总瞎点,把电脑桌面都点坏了!”当他们想来求助我的时候,我就释放控制权,然后过去一用,没问题啊,可以用啊,刚才你是不是操作有问题啊?嘿嘿。而点那些我没实现的图标的时候,提示一般是“你用的是盗版软件,本软件试用期已到,请付费”、“本软件今天累了,不愿意工作”之类的。
  恶作剧么,一两天就可以了,不要太过分么。然后我就开始完善这个模拟的explorer.exe,实现了好些功能,不过跟真正的那还是差得太远,当时的技术还比较糙,实现的方式用现在的观点来看也比较笨,不过效果还凑合。点开我的电脑的界面是我程序自己模拟的,然后点里面的驱动器则直接调用windows自带的explorer.exe就可以了,带上相应文件夹的参数就可以了。虽然功能实现了,但是与正常操作还是有区别的,正常操作应该是在当前窗口显示,而我实现的是新开了一个窗口。完全模拟的话我已经不记得当时是因为无法实现还是可以实现但是方法太麻烦的原因反正最后没能实现。
  最后我的这个外壳程序在单位的两三台机器上用了大概一个月,后来我的新鲜感过了,就都换回成原来的系统的explorer.exe了。
  现在想想,当初做了那么多好玩的软件好像都是用VB干的。那个时期比较喜欢研究,包括这个外壳程序载入的地点都是我自己发现的,当时好像把整个windows所有的ini文件都查看过了,发现了不少有用的设置——现在倒是都忘得差不多了——貌似现在好多ini文件应该也都没有了吧。除此外,windows的注册表也是我喜欢折腾的地方,当时我没有网络,即便后来有网络,好像也不像现在这么多信息,很多注册表中的功能也都是自己琢磨出来的。最经典的应该是将exe文件的打开方式修改,改成自己的程序调用,这样系统中所有执行的exe文件都会通过我的软件调用才能执行(这个程序也是VB做的,刚刚看到有人说VB就是数据的增删改,唉,我用VB好像一共就做过两个数据库方面的程序),这样我就能准确知道用户使用了哪些软件,在什么时间运行的,后来这个方法成为我编制的一个监控管理软件的一部分,可以限制用户在计算机上无法玩游戏,只能执行规定的那些软件——不过很快就被我自己找个理由跟领导说取消了,大家不能玩游戏多没意思啊。后来才发现有一种病毒还是木马也采用这种方式,呵呵,那本人绝对要手工查杀,展示一下实力,哼哼哈嘿(其实就是写一个.reg文件修改就好了,主要是这些木马之类的做得不够狠,如果是我来做,连.reg的打开方式都给修改了)。

你可能感兴趣的:(exp)