Verfasst: 27.03.2007 10:59
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.
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;
?>