[Request] Private Nachrichten verschlüsseln!

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

Ich habe mal angefangen ein Script zur entschlüsselung zu schreiben, aber irgendwie komme ich nicht zu dem gewünschten Erfolg.

Ich dachte es würde gehen, indem ich den text mit dem dazugehörigen privmsgs_bbcode_uid und einem zusätzlichen wert zwischen 0 und 2 in den Verschlüsselungsalghorythmus schicke, aber da lag ich wohl falsch.

Hier mal mein Ansatz, vielleicht kann mir ja da einer weiterhelfen.

Code: Alles auswählen

  <?php

function hex2bin($text) 
{ 
   $result = ''; 
   $decode[ 48]= 0; // 0 
   $decode[ 49]= 1; // 1 
   $decode[ 50]= 2; // 2 
   $decode[ 51]= 3; // 3 
   $decode[ 52]= 4; // 4 
   $decode[ 53]= 5; // 5 
   $decode[ 54]= 6; // 6 
   $decode[ 55]= 7; // 7 
   $decode[ 56]= 8; // 8 
   $decode[ 57]= 9; // 9 
   $decode[ 65]=10; // A 
   $decode[ 66]=11; // B 
   $decode[ 67]=12; // C 
   $decode[ 68]=13; // D 
   $decode[ 69]=14; // E 
   $decode[ 70]=15; // F 
   $decode[ 97]=10; // a 
   $decode[ 98]=11; // b 
   $decode[ 99]=12; // c 
   $decode[100]=13; // d 
   $decode[101]=14; // e 
   $decode[102]=15; // f 

   for($i=0;$i < bcdiv(strlen($text),2);$i++) 
   { 
    $result .= chr(($decode[ord(substr($text,$i*2,1))]*16)+$decode[ord(substr($text,($i*2)+1,1))]); 
   } 
return $result; 
} 

function make_key_array($keyint) 
{ 
   if ($keyint < 0) $keyint = bcpow(2,32) + $keyint; 
   for($i=31;$i>=0;$i--) 
   { 


     $test = bcpow(2,$i); 
     if ($keyint>=$test) 
      { 
       $bit = 1; 
       $keyint = $keyint - $test; 
      } 
      else 
      { 
       $bit = 0; 
      } 
     $key4[bcdiv($i,8)]=chr(ord($key4[bcdiv($i,8)])+bcpow(2,bcmod($i,8))*$bit); 
   } 
return array($key4[0],$key4[1],$key4[2],$key4[3]); 
} 

function xor_text($text,$keyint,$dir) 
{ 
   if ($dir == 2) $text = hex2bin($text); 
    
   $key = make_key_array($keyint); 
   $result = ''; 
   for($i = 0;$i < strlen($text);$i++) 
   { 
    $result .= chr(ord(substr($text,$i))^ord($key[bcmod($i,4)])); 
   } 

   if ($dir == 1) return bin2hex($result); else return $result; 
} 


//
//Datenbank Zugang
//
$benutzer = "root";          // Benutzername
$passwort = "";             // Passwort
$db = "popo";         // Name deiner Datenbank
$hostname = "localhost";  // Hostname, kann normalerweise so belassen werden.
 
 

 $link = mysql_connect("$hostname", $benutzer, $passwort);

 $res = mysql_db_query("$db", "select * from phpbb_privmsgs_text where privmsgs_text_id = 3753 ");

 while($row = mysql_fetch_array($res)){

    $msgkey = $row['privmsgs_key'];
    $bbcode_uid = $row['privmsgs_bbcode_uid'];
  $privmsg_text = $row['privmsgs_text'];
  
//   $result = xor_text($privmsg_text,$msgkey,2);
 $result = xor_text($privmsg_text,$bbcode_uid,2); 


}
//echo $privmsg_text;

echo $result;

?>
 
Gruß
CADwiesel
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

So ich habe den Fehler bei meinem Hoster gefunden:

Es waren nicht installierte Zusatzmodule nämlich die bc Bibliothek.
Sollte jemanden von Euch auch das Unterkommen, das plötzlich die PM Seite leer dargestellt wird, so poste ich hier die fehlenden Funktionen, die es Ermöglichen trotzdem die PM-Codierung zu nutzen.
Diese Funktionen müssen in die Datei functions_post.php am besten wie Beschrieben eingefügt werden:

Code: Alles auswählen


Suche nach:

function hex2bin($text) 

danach einfügen:

function bcpow($x,$y) 
{ 
   $pow = 1; 
   if ($y > 0) 
   { 
     for ($i=0;$i<$y;$i++) 
       { 
         $pow = $pow * $x; 
       } 
   } 
return $pow; 
} 

function bcmod($x,$y) 
{ 
$n=($x<0)?1:0; 
$x=abs($x); 
$y=abs($y); 
$temp = ($y==0)?'':$x - ($y * floor($x/$y)); 
return  ($n==1)? -1 * $temp:$temp; 
}

function bcdiv($x,$y) 
{ 
return floor($x/$y); 
}

Gruß
CADwiesel
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“