| Category: | E-Mail Programs |
| Author/Contact Info | |
| Description: | Maybe you have a slight desire to know just what all those huge executables arriving in your inbox are infected with. This script uses File::Scan and MIME::Parser to tell you ... I invoke it from mutt by pressing 'i', with the following line in .muttrc: 'macro index i "|vscan"' |
#!/usr/bin/perl
use File::Scan;
use File::Find::Rule;
use MIME::Parser;
use strict;
# Make sure we have an output directory...
mkdir('/tmp/radioactive') unless ( -d '/tmp/radioactive' );
mkdir("/tmp/radioactive/$$") unless ( -d "/tmp/radioactive/$$" );
`rm -Rf /tmp/radioactive/$$/*`;
# Read in the message
my $parser = new MIME::Parser;
$parser->output_under("/tmp/radioactive/$$");
$parser->parse( \*STDIN ) or die "Failed to parse message!";
# Grab all files...
my @files = File::Find::Rule->file()
->in( "/tmp/radioactive/$$/" );
for my $filename (@files) {
my $nice_filename = $filename;
$nice_filename =~ s!.+/!!;
print "Scanning $nice_filename...\n";
my $scanner = File::Scan->new();
my $vname = $scanner->scan( $filename );
print "\tFOUND: $vname\n" if $vname;
}
# Cleanup
END { `rm -Rf /tmp/radioactive/$$` }
|
|
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Simple virus checker...
by zentara (Cardinal) on Nov 11, 2003 at 15:03 UTC | |
by rob_au (Abbot) on Nov 12, 2003 at 03:55 UTC | |
by zentara (Cardinal) on Nov 12, 2003 at 17:46 UTC | |
|
Re: Simple virus checker... (cat worm > /dev/null)
by Aristotle (Chancellor) on Nov 11, 2003 at 20:09 UTC |