经常发现一些病毒木马,运行后就自删除了,你还没发现呢,已经中马了,防不胜防啊。
我就在想,这些东东都是用什么编写的呢,可以自己删除自己?后来听说VB比较适合做这个,还有Delphi也可以,可咱学的是C#呀(VB,Delphi接触比较少),能不能做一个类似的“自删除程序”呢?想……,好像不能实现,程序自己没有退出,不可能删除掉,就是说没法实现咯;忽然想到一个问题,哈,可以解决问题咯,o(∩_∩)o...
思路如下:
用本程序启动DOS命令,然后通过DOS命令来删除程序本身。OK,开始动工:
1.将程序不在任务栏显示(ShowInTaskbar=false),没有最大化,最小化,透明度设为0,就是完全透明了,窗体只剩个标题栏,运行时完全看不到(这样才像个木马嘛,嘿嘿);
2.通过代码修改注册表,将Exe文件的图标更改为熊猫图标(图标在资源文件中)。
3.创建一个批处理文件,删除程序自身。
本程序运行后会将Exe文件图标全部变为熊猫了,而且运行后自删除(像熊猫烧香,有点壮观哈~),自删除实现了o(∩_∩)o...
运行后结果:
如果不小心运行了,想还原图标,将如下代码保存为 还原.reg 文件,双击导入注册表即可。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/exefile/DefaultIcon]
@="%1"
本例只提供个思路,遇到问题可变通来想,也许问题迎刃而解。
本例在VS2005 + .NetFramwork2.0 + WinXPSP2环境下运行通过。
需要Demo,留言即可。