!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\nuevo\perl\bin\   drwxrwxrwx
Free 9.42 GB of 239.26 GB (3.94%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     llw32helper.pl (4.14 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!perl

use 5.008001;
use strict;
use warnings;
use local::lib 1.004007 qw();
use English qw(-no_match_vars);
use Carp qw(croak);
use IO::Interactive qw(is_interactive);
use File::HomeDir 0.81;
use File::Spec::Functions 3.2701 qw(splitpath catpath catdir);
use File::Path qw(mkpath);
use Win32::TieRegistry 0.26 qw(:KEY_);

our $VERSION = our $VERSION_STR = '0.990';
$VERSION =~ s/_//sm;

print <<"__END_TEXT__";
llwin32helper version $VERSION_STR

Configures local::lib on Windows.

Run "perldoc App::local::lib::Win32Helper" for more information, including
the license and copyright.

__END_TEXT__


if ( !is_interactive() ) {
    croak 'llw32helper must be run interactively.';
}

# Access = KEY_READ | KEY_WRITE | KEY_WOW64_64KEY (0x100 = 256)
my $environment_obj = Win32::TieRegistry->new(
    'CUser/Environment/',
    {   Delimiter => q{/},
        Access    => KEY_READ() | KEY_WRITE() | 256
    }
) or croak "Can't access HKEY_CURRENT_USER subkey: $EXTENDED_OS_ERROR\n";

$environment_obj->FastDelete(1);
$environment_obj->ArrayValues(0);

my $environment_key = $environment_obj->TiedRef();

local $ENV{HOME} = undef;

my $ll_exists = 0;
my $default_path;
if ( exists $environment_key->{'/MODULEBUILDRC'} ) {
    $ll_exists = 1;
    my ( $volume, $directories, $file ) =
      File::Spec->splitpath( $environment_key->{'MODULEBUILDRC'} );
    $default_path = catpath( $volume, $directories, undef );
} else {
    $default_path =
      catdir( Win32::GetShortPathName( File::HomeDir->my_home() ),
        'perl5' );
}

if ($ll_exists) {
  EXISTS:
    print
"Do you wish to remove the local::lib settings from $default_path? [y/N] ";

    my $answer = <>;
    chomp $answer if defined $answer;

    $answer = 'n' if $answer eq q{};

    if ( 'n' eq lc substr $answer, 0, 1 ) {
        print "llwin32helper exiting.\n";
        exit;
    }

    goto EXISTS if ( 'y' ne lc substr $answer, 0, 1 );

    delete $environment_key->{'/MODULEBUILDRC'};
    delete $environment_key->{'/PERL_MM_OPT'};
    delete $environment_key->{'/PERL5LIB'};

    if ( $environment_key->{'/PATH'} =~ m/;/smx ) {
        my $dir = catdir( $default_path, 'bin' );
        $dir =~ s{\\}{\\\\}gsmx;
        my $path = $environment_key->{'/PATH'};
        $path =~ s{$dir;}{}gsmx;
        $environment_key->{'/PATH'} = $path;
    } else {
        delete $environment_key->{'/PATH'};
    }

    print <<"__END_TEXT__";

llwin32helper has removed the environment entries that make CPAN/CPANPLUS 
install future modules to $default_path.

This script does not delete the files in that directory, however.
(You may wish to delete them yourself.)

You'll need to reboot for the changes to register.
__END_TEXT__

    exit;

} else {
  NOTEXISTS:
    print 'Do you wish to install future modules in a local area? [y/N] ';

    my $answer = <>;
    chomp $answer if defined $answer;

    $answer = 'n' if $answer eq q{};

    if ( 'n' eq lc substr $answer, 0, 1 ) {
        print "llwin32helper exiting.\n";
        exit;
    }

    goto NOTEXISTS if ( 'y' ne lc substr $answer, 0, 1 );

  PATH:
    print "\nWhere do you want to install modules? [$default_path] ";

    $answer = <>;
    chomp $answer if defined $answer;

    $answer = $default_path if $answer eq q{};

    if ( !-d $answer ) {
        print "Creating path.\n";
        mkpath($answer);
    }

    my %ll_env_entries =
      'local::lib'->build_environment_vars_for( $answer, 0 );

    $environment_key->{'/MODULEBUILDRC'} = $ll_env_entries{'MODULEBUILDRC'};
    $environment_key->{'/PERL_MM_OPT'}   = $ll_env_entries{'PERL_MM_OPT'};
    $environment_key->{'/PERL5LIB'}      = $ll_env_entries{'PERL5LIB'};

    if ( exists $environment_key->{'/PATH'} ) {
        $environment_key->{'/PATH'} = join q{;},
          'local::lib'->install_base_bin_path($answer),
          $environment_key->{'/PATH'};
    } else {
        $environment_key->{'/PATH'} =
          local::lib->install_base_bin_path($answer);
    }

    'local::lib'->ensure_dir_structure_for($answer);

    print <<"__END_TEXT__";

llwin32helper has added environment entries and files so that CPAN/CPANPLUS 
installs future modules to $answer.

To use modules installed this way in your scripts, insert this line:
    use local::lib '~\\perl5'; 
(if you changed the directory, use that directory instead.)

To remove these environment entries, run llw32helper again.

You'll need to reboot for these environment variables to register.
__END_TEXT__

    exit;
} ## end else [ if ($ll_exists) ]

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--