
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/IfTProgramReader.pm |
package DivBasicF::IfTProgramReader;
use Filter::Util::Call;
use Crypt::CBC;
use Crypt::Blowfish;
use MIME::Base64;
sub DELIVER { 3 }
sub import {
my ($type) = @_;
filter_add(bless {});
}
#******************************************************************
sub filter {
my ($self) = @_;
my ($status);
$status = filter_read(99999999);
$_ = filter_parser($_) if ($status);
$status;
}
#******************************************************************
sub filter_parser {
my $code = shift;
my $cipher = Crypt::CBC->new( -key => 'abc123', -cipher => 'Blowfish' );
my $source = $cipher->decrypt( decode_base64($code) );
my $keys;
while (0 == 0) {
last if ($source =~ /package /);
$source = "___WRONG_KEY___";
if (!(ref($keys))) {
$keys = [split(/[,\:\;]/,$ENV{'cryptkeys'})];
} else {
shift(@$keys);
}
last if (!@$keys);
$cipher = Crypt::CBC->new( -key => $keys->[0], -cipher => 'Blowfish' );
$source = $cipher->decrypt( decode_base64($code) );
}
return($source);
}
1;