Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.86 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4.  
  5. function base64todec($base64_value){
  6.  
  7.   // convert base64 value into decimal value
  8.   switch($base64_value){
  9.     case "A":$decimal_value=0;break;
  10.     case "B":$decimal_value=1;break;
  11.     case "C":$decimal_value=2;break;
  12.     case "D":$decimal_value=3;break;
  13.     case "E":$decimal_value=4;break;
  14.     case "F":$decimal_value=5;break;
  15.     case "G":$decimal_value=6;break;
  16.     case "H":$decimal_value=7;break;
  17.     case "I":$decimal_value=8;break;
  18.     case "J":$decimal_value=9;break;
  19.     case "K":$decimal_value=10;break;
  20.     case "L":$decimal_value=11;break;
  21.     case "M":$decimal_value=12;break;
  22.     case "N":$decimal_value=13;break;
  23.     case "O":$decimal_value=14;break;
  24.     case "P":$decimal_value=15;break;
  25.     case "Q":$decimal_value=16;break;
  26.     case "R":$decimal_value=17;break;
  27.     case "S":$decimal_value=18;break;
  28.     case "T":$decimal_value=19;break;
  29.     case "U":$decimal_value=20;break;
  30.     case "V":$decimal_value=21;break;
  31.     case "W":$decimal_value=22;break;
  32.     case "X":$decimal_value=23;break;
  33.     case "Y":$decimal_value=24;break;
  34.     case "Z":$decimal_value=25;break;
  35.     case "a":$decimal_value=26;break;
  36.     case "b":$decimal_value=27;break;
  37.     case "c":$decimal_value=28;break;
  38.     case "d":$decimal_value=29;break;
  39.     case "e":$decimal_value=30;break;
  40.     case "f":$decimal_value=31;break;
  41.     case "g":$decimal_value=32;break;
  42.     case "h":$decimal_value=33;break;
  43.     case "i":$decimal_value=34;break;
  44.     case "j":$decimal_value=35;break;
  45.     case "k":$decimal_value=36;break;
  46.     case "l":$decimal_value=37;break;
  47.     case "m":$decimal_value=38;break;
  48.     case "n":$decimal_value=39;break;
  49.     case "o":$decimal_value=40;break;
  50.     case "p":$decimal_value=41;break;
  51.     case "q":$decimal_value=42;break;
  52.     case "r":$decimal_value=43;break;
  53.     case "s":$decimal_value=44;break;
  54.     case "t":$decimal_value=45;break;
  55.     case "u":$decimal_value=46;break;
  56.     case "v":$decimal_value=47;break;
  57.     case "w":$decimal_value=48;break;
  58.     case "x":$decimal_value=49;break;
  59.     case "y":$decimal_value=50;break;
  60.     case "z":$decimal_value=51;break;
  61.     case "0":$decimal_value=52;break;
  62.     case "1":$decimal_value=53;break;
  63.     case "2":$decimal_value=54;break;
  64.     case "3":$decimal_value=55;break;
  65.     case "4":$decimal_value=56;break;
  66.     case "5":$decimal_value=57;break;
  67.     case "6":$decimal_value=58;break;
  68.     case "7":$decimal_value=59;break;
  69.     case "8":$decimal_value=60;break;
  70.     case "9":$decimal_value=61;break;
  71.     case "+":$decimal_value=62;break;
  72.     case "/":$decimal_value=63;break;
  73.     case "=":$decimal_value=64;break;
  74.     default: $decimal_value=0;break;
  75.   }
  76.  
  77.   return $decimal_value;
  78. }
  79.  
  80. function changedataout($cipher_data,$key){
  81.  
  82.   // decode cipher data with key using xoft encryption */
  83.   $m=0;
  84.   $all_bin_chars="";
  85.  
  86.   for($i=0;$i<strlen($cipher_data);$i++){
  87.     $c=substr($cipher_data,$i,1);            // c = ciphertext
  88.     $decimal_value=base64todec($c);          //convert to decimal value
  89.     $decimal_value=($decimal_value - $m) / 4; //substract by m where m=0,1,2,or 3 then divide by 4
  90.     $four_bit=decbin($decimal_value);
  91.  
  92.     while(strlen($four_bit)<4){
  93.         $four_bit="0".$four_bit;
  94.     }
  95.  
  96.     $all_bin_chars=$all_bin_chars.$four_bit;
  97.     $m++;
  98.  
  99.     if($m>3){
  100.         $m=0;
  101.     }
  102.   }
  103.  
  104.   $key_length=0;
  105.   $plain_data="";
  106.  
  107.   for($j=0;$j<strlen($all_bin_chars);$j=$j+8){
  108.     $c=substr($all_bin_chars,$j,8);
  109.     $k=substr($key,$key_length,1);
  110.  
  111.     $dec_chars=bindec($c);
  112.     $dec_chars=$dec_chars - strlen($key);
  113.     $c=chr($dec_chars);
  114.     $key_length++;
  115.  
  116.     if($key_length>=strlen($key)){
  117.         $key_length=0;
  118.     }
  119.  
  120.     $dec_chars=ord($c)^ord($k);
  121.     $p=chr($dec_chars);
  122.     $plain_data=$plain_data.$p;
  123.   }
  124.  
  125.   return $plain_data;
  126. }
  127.  
  128.  
  129.  $decpw = "0815"; // decryption password
  130.  
  131. if(!$_POST['dec'])
  132. {
  133.     echo
  134.     '
  135.        <form method="post">
  136.            <input type="text" name="file" value="filename...">
  137.            <input type="submit" name="dec" value="Decode!">
  138.        </form>
  139.    ';
  140. }
  141. else
  142. {
  143.     $lines = explode("\n", file_get_contents($_POST['file']));
  144.    
  145.     foreach($lines as $line)
  146.     {
  147.         if(strpos($line, ';'))
  148.         {
  149.             $rows = explode(';', $line);
  150.            
  151.             for($i=0;$i<count($rows);$i++)
  152.             {
  153.                 $row = $rows[$i];
  154.                
  155.                 if($i==7)
  156.                 {
  157.                     $line_decoded .= changedataout($row, $decpw).";";
  158.                 }
  159.                 else
  160.                 {
  161.                     $line_decoded .= "$row;";
  162.                 }
  163.             }
  164.            
  165.             $lines_all .= str_replace("\t", '', substr($line_decoded,0,-1))."\r\n";
  166.             unset($line_decoded);
  167.         }
  168.     }
  169.    
  170.     file_put_contents('ccs_result.txt', $lines_all);
  171.     echo 'ccs_result.txt wurde erstellt.';
  172. }
  173.  
  174.  
  175. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement