#!/usr/bin/perl # dbb-read.pl 0.4 # (c) 2007 nhjm449 # needs much work my $chunkSize = 256; my $username = "nhjm449"; my $skypeaccount = "nhjm449"; open(DBB, ">>>>> $i <<<<<<\n\n"; $info{"chunkLength"} = unpack("L", substr($chunk, 4, 4)); next if ($info{"chunkLength"} eq ''); $info{"number"} = unpack("L", substr($chunk, 8, 4)); $info{"msgbody"} = substr($chunk, 12, $info{"chunkLength"} - 4); #print "\n{{ msgbody: $info{msgbody} }}\n\n"; $info{"number2"} = unpack("L", substr($chunk, 12, 4)); #$info{"chatroom"} = substr($chunk, 20, index($chunk, $null, 20)-20); $info{"msgbody"} =~ /^(?:.|\n){8}((?:.|\n)+?)\x00(?:.|\n){11}((?:.|\n)+?)\x00(?:.|\n){3}((?:.|\n)+?)\x00/; ($info{"chatroom"}, $info{"username"}, $info{"fullname"}) = ($1, $2, $3); $info{"message"} = substr($info{"msgbody"}, 8+length($info{"chatroom"})+1+11+length($info{"username"})+1+3+length($info{"fullname"})+1); #$info{"message"} =~ s/\n/\n/g; $info{"message"} =~ s/^(?:.|\n)*\x03(?:\xfc|\xf4)\x03((?:.|\n)+?)\x00(?:.|\n)+?$/\1/; # message seems to start with 0x03f[c4]03 print "chunkLength: ".$info{"chunkLength"}.", number: ".$info{"number"}.", length: (".length($chunk).")\n"; print ">> chatroom: ".$info{"chatroom"}."\n"; print ">> username: ".$info{"username"}."\n"; print ">> fullname: ".$info{"fullname"}."\n"; print ">> message: ".$info{"message"}."\n"; #print ">> data: ".$info{"data"}."\n"; #$chunk =~ s/$null+$//; #print "\n".$chunk."\n---\n"; undef($chunk); } print "\n"x50; #232 = username #236 = nickname