main(argc,argv)
int argc,char *argv[]
{
.....
}
从函数参数的形改行历式上看,包含一个整型和一个指针数组。当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件,这是可以在 *** 作系统下直接运行的文件,换句话说,就是由系统来启动运行的核搜。对main()函数既然不能由其它函数调用和传递参数,就只能由
系统在启动运行时传递参数了。
在 *** 作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
命令参数1参数2....参数n¿
此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。
命令行与main()函数的参数存在如下的关系:
设命令行为:program str1 str2 str3 str4 str5
其中program为文件名,也就是一个由program.c经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main()函数来说,它的参数argc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的带伍值决定,即为char*argv[6] 数组的各指针分别指向一个字符串。应当引起注意的是接收到的指针数组的各指针是从命令行的开始接收的,首先接收到的是命令,其后才是参数。
碰巧对这种伪文件夹病毒很有研究。首先,这种病毒利用的是视觉效果。判断一个文件是什么类型的文件,永远不要通过图标来判断。那是准初学者的办法。(因为图标可以随意更改)
好了,该病毒利用的是:系统[文件夹选项]中默认的不安全设置。
首先,病毒启动后把所有文件夹设为[系统]+[隐藏]双重属性。由于[文件夹选项]中“隐藏受保护的系统文件”这一项是默认勾选的(微软为了防止初学者误删系统文件),所以所有原文件夹被隐藏。
之后,病毒将自身重命名为原文件夹名,并将自身图标改为文件夹图标。
又因为[文件夹选项]中默认选择“隐藏已知文件的扩展名”信棚这梁好一项,所以病毒文件的原.exe后缀被隐藏。
至此,病毒exe文件和用户原文件夹看起来已经没有区别。
之后后果可想而知,用户会自己打开病毒文件。
有些此类病毒启动后,会再调用explorer.exe打开被隐藏的相应原文件夹,误使粗心的用户认为电脑没有问题。
这就是基本滑渣则的整个病毒原理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)