1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
: # use perl -*- mode: perl; -*-
###
# This program was written by and is copyright Alec Muffett 1991,
# 1992, 1993, 1994, 1995, and 1996, and is provided as part of the
# Crack v5.0 Password Cracking package.
#
# The copyright holder disclaims all responsibility or liability with
# respect to its usage or its effect upon hardware or computer
# systems, and maintains copyright as set out in the "LICENCE"
# document which accompanies distributions of Crack v5.0 and upwards.
###
eval 'exec perl -Ss $0 "$@"'
if $runnning_under_some_shell;
sub b64decode
{
$i = shift;
$o = "";
$i =~ s/\=+$//o;
$i =~ tr!A-Za-z0-9+/!\000-\077!;
@string = unpack("C*", $i);
while (($w, $x, $y, $z) = splice(@string, 0, 4))
{
$val = ($w << 18) | ($x << 12) | ($y << 6) | $z;
$a = ($val & 0xff0000) >> 16;
$b = ($val & 0xff00) >> 8;
$c = ($val & 0xff);
$o .= pack("C", $a);
$o .= pack("C", $b) if (defined($y));
$o .= pack("C", $c) if (defined($z));
}
$o;
}
while (<>)
{
s/\s+$//o;
unless (/^[A-Za-z0-9\+\/\=]+$/o)
{
print STDERR " >$_\n" if ($debug); # "-debug" cmdline switch
next;
}
print &b64decode($_);
}
exit 0;
|