Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/web-klick.de/dsh/50_dev2017/1310__algorithms/geo/Geo/

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/1310__algorithms/geo/Geo/Kube.pm

package Geo::Kube;

use strict;
use Data::Dumper;
use Cwd;

sub DELIVER { 2 }

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

sub new {
   
   my $class         = shift;
   my $self          = {};
   $self->{'FILE'}   = shift;
   $self->{'METHOD'} = shift;
   bless($self,$class);
   $self->geodata();
   return($self);

}

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

sub geodata { 

   my $self         = shift;
   my $mode         = shift;

   my $VAR1; my $text; my $o;
   if (!($self->{'GEODEEP'})) {
   
      open(FFILE,"<".$self->{'FILE'});
      $text = join("",<FFILE>);
      close(FFILE);
   
      if ($text =~ s/^(.*?)(\$VAR1 +\=[ \[\]013\,\n]+?)\;(.*)$/$1\n\n$3/s) {
         eval($2);
         $self->{'GEODEEP'}   = $VAR1;
      }

      while ($text =~ s/^(.*?)\n *\n\s*([\-0123456789\,\n ]+?)\n *\n(.*)$/$1\n\n$3/s) {
         $o = $2;
#print "W: $o\n";
         if ($o =~ /\,\,/) {
            $self->{'GEOBIN'}  = $o . "\n";
         }
         elsif ($o =~ /\,.*\,/) {
            $self->{'GEOFLAT'} = $o . "\n";
         }
      }

      if ($text =~ s/^(.*?)\n *\n\s*([FNJ 10\n]+?)\n *\n(.*)$/$1\n\n$3/s) {
#print "hier\n";
         $o = $2;
         $self->{'GEOBYTE'} = $o;
      }

      if ($text =~ s/^(.*?)\n *\n\s*([0123456789ABCDEF\n ]+?)\n *\n(.*)$/$1\n\n$3/s) {
         $o = $2;
         $self->{'GEOHEX'} = $o;
      }

   }

}

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

sub is_inside {

   my $self = shift;
   my $x    = shift;
   my $y    = shift;
   my $z    = shift;
   
   my $func = "is_inside_" . $self->{'METHOD'};
   
   return($self->$func($x,$y,$z));
   
}


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

sub is_inside_deep {

   my $self = shift;

   my $x    = shift;
   my $y    = shift;
   my $z    = shift;
   
   $x = sprintf("%020b",$x * 1048576);  #  umwandeln in binaer
   $y = sprintf("%020b",$y * 1048576);  # 1048576 =  2**20, das sollte reichen
   $z = sprintf("%020b",$z * 1048576);
   
   my $data = $self->{'GEODEEP'};
   return("___NO_DATA___") if (!$data);
   while (0 == 0) {
#      print Dumper($data);
      $data = $data->[ (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4 ];
      if (!(ref($data))) {
         $data = 1 if ($data == 3);
         return($data);
      }
      $x = substr($x,1);
      $y = substr($y,1);
      $z = substr($z,1);
   }

}

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

sub is_inside_flat {

   my $self = shift;
   my $x    = shift;
   my $y    = shift;
   my $z    = shift;
   
   my $zeile; my $nr;

   $x = sprintf("%020b",$x * 1048576);  #  umwandeln in binaer
   $y = sprintf("%020b",$y * 1048576);  # 1048576 =  2**20, das sollte reichen
   $z = sprintf("%020b",$z * 1048576);
   
   my $data = $self->{'GEOFLAT'};
   return("___NO_DATA___") if (!$data);
   $data    = [split(/\n/,$data)];
#   print Dumper($data);
   my $nr   = 0; #  start at 0. flat octet
   while (0 == 0) {
      $zeile   = [split(/,/,$data->[$nr])];
#      print Dumper($zeile);
#      print "$x\n$y\n$z\n";
#      my $o = (substr($x,0,1))*4 + (substr($x,0,1))*2 + (substr($x,0,1))*1 ;
#      print "RR $o\n";
      $nr      = $zeile->[ (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4 ];
#      print "NN: $nr\n";
      if ($nr < 1) {
         $nr = -1 if ($nr == -3);
         return(-$nr);
      }
      $x = substr($x,1);
      $y = substr($y,1);
      $z = substr($z,1);
   }

}

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

sub is_inside_bin {

   my $self = shift;
   my $x    = shift;
   my $y    = shift;
   my $z    = shift;
   
   my $zeile; my $nr; my $o; my $o1;

   $x = sprintf("%020b",$x * 1048576);  #  umwandeln in binaer
   $y = sprintf("%020b",$y * 1048576);  # 1048576 =  2**20, das sollte reichen
   $z = sprintf("%020b",$z * 1048576);
   
   my $data = " " . $self->{'GEOBIN'} . " ";
   return("___NO_DATA___") if (!$data);
   $data =~ s/\n/ /gs;
   while ($data =~ s/ +\d+ +/ /g) { 1; }
   $data =~ s/ //g;
   $data = [split(/,/,$data)];
#   print Dumper($data); exit;
   my $nr   = 0; #  start at 0. flat octet
   while (0 == 0) {
      $nr = 0;
#      print "$x\n$y\n$z\n";
#      print join("--",@$data) . "\n\n\n";
      $o  = (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4;
      while (0 == 0) {
#print "NN: $o $nr\n";
         $nr = shift(@$data);
         next if (!$nr);
         $o  = $o - 1;
         last if ($o < 0);
      }
#      print "NN: $nr\n";
      if ($nr < 1) {
#         $nr = -1 if ($nr == -3);
         $nr = 0 if ($nr == -7);
         return(-$nr);
      }
      $nr = $nr - 1;
      $data = [@{$data}[$nr..$#$data]];
      $x = substr($x,1);
      $y = substr($y,1);
      $z = substr($z,1);
   }

}

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

sub is_inside_byte {

   my $self = shift;
   my $x    = shift;
   my $y    = shift;
   my $z    = shift;
   
   my $zeile; my $o; my $o1;

   $x = sprintf("%020b",$x * 1048576);  #  umwandeln in binaer
   $y = sprintf("%020b",$y * 1048576);  # 1048576 =  2**20, das sollte reichen
   $z = sprintf("%020b",$z * 1048576);
   
# print "$x  $y  $z\n";
   my $data = " " . $self->{'GEOBYTE'} . " ";
   return("___NO_DATA___") if (!$data);
   my $jump1 = "";
   my $jump2 = "";
   
   if ($data =~ /NJ +([01]+)/) {
      $jump1 = length($1);
   }
   if ($data =~ /FJ +([01]+)/) {
      $jump2 = length($1);
   }
   $data =~ s/\n/ /gs;
   $data =~ s/ //gs;

   my $nr = 0;

#   print Dumper($data); exit;
   while (0 == 0) {
#print "qqqq\n";

#      print "$x\n$y\n$z\n$nr\n\n";
#      sleep 1;
#      print join("--",@$data) . "\n\n\n";
      $o  = (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4;
      while (0 == 0) {
#print "XXX: $o $nr " . substr($data,$nr,20)  . "\n";
         last if ($o == 0);
         if (substr($data,$nr,1) eq "0") {
#print "xxx1\n";
            $nr = $nr + 2;
         }
         elsif (substr($data,$nr,2) eq "NJ") {
#print "xxx9: " . substr($data,0,10) . "\n";
            $nr = $nr + 2 + $jump1;
         } 
         elsif (substr($data,$nr,2) eq "FJ") {
#print "xxx2: " . substr($data,0,10) . "\n";
            $nr = $nr + 2 + $jump2;
         }
         $o = $o - 1;
      }
#print "GGG: $nr " . substr($data,$nr,130) . " " . substr($data,$nr + 130,20) . "\n";
      if (substr($data,$nr,1) eq "0") {
#print "hier\n";
         return(substr($data,$nr+1,1));
      }
      if (substr($data,$nr,2) eq "NJ") {
#print "111 $nr\n";
         $nr = $nr + eval("0b".substr($data,$nr+2,$jump1))*2;
#print "000 $nr\n";
      } 
      elsif (substr($data,$nr,2) eq "FJ") {
#print "112 $nr $jump2\n";
         $nr = $nr + eval("0b".substr($data,$nr+2,$jump2))*2;
      } 
      $x = substr($x,1);
      $y = substr($y,1);
      $z = substr($z,1);
   }

}

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

sub is_inside_hex {

   my $self  = shift;
   my $x     = shift;
   my $y     = shift;
   my $z     = shift;
   
   my $zeile; my $o; my $o1;

   $data    = $self->{'GEOHEX'};

   $x = sprintf("%020b",$x * 1048576);
   $y = sprintf("%020b",$y * 1048576);
   $z = sprintf("%020b",$z * 1048576);
   
   $data    =~ s/0/oooo/gs;
   $data    =~ s/1/oooi/gs;
   $data    =~ s/2/ooio/gs;
   $data    =~ s/3/ooii/gs;
   $data    =~ s/4/oioo/gs;
   $data    =~ s/5/oioi/gs;
   $data    =~ s/6/oiio/gs;
   $data    =~ s/7/oiii/gs;
   $data    =~ s/8/iooo/gs;
   $data    =~ s/9/iooi/gs;
   $data    =~ s/A/ioio/gs;
   $data    =~ s/B/ioii/gs;
   $data    =~ s/C/iioo/gs;
   $data    =~ s/D/iioi/gs;
   $data    =~ s/E/iiio/gs;
   $data    =~ s/F/iiii/gs;
   $data    =~ s/o/0/gs;
   $data    =~ s/i/1/gs;
   $data    =~ s/\n//gs;

   my $jump = [eval("0b".substr($data,0,4))*2,eval("0b".substr($data,4,4))*2];
   my $nr   = 8;
   while ($x) {
      $o  = (substr($x,0,1))*1 + (substr($y,0,1))*2 + (substr($z,0,1))*4;
      while ($o != 0) {
         if (substr($data,$nr,2) =~ /^1([01])$/) { $nr = $nr + $jump->[$1] }
         $o = $o - 1;
         $nr = $nr + 2;
      }
      last if (length($data) < $nr);
      return(substr($data,$nr+1,1)) if (substr($data,$nr,1) eq "0");
      if (substr($data,$nr,2) =~ /^1([01])$/) { $nr = $nr + eval("0b".substr($data,$nr+2,$jump->[$1]))*2 }
      $x = substr($x,1);
      $y = substr($y,1);
      $z = substr($z,1);
   }
   return(9);

}

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


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