From c3f8d65a4fb1f5674557ee67cf7f74369df86ad1 Mon Sep 17 00:00:00 2001 From: Darkelarious Date: Sat, 19 Nov 2016 20:56:04 +0100 Subject: Massive improvements on efficiency, robustness, security, reliability and more --- util/masterserver.pl | 4 +- util/tools/db_load_ciphers.pl | 72 ++++++++++++++++++++ util/tools/db_manual_batch_insert.pl | 44 ++++++++++++ util/tools/db_query_master_applet.pl | 38 +++++++++++ util/tools/r_database.pl | 40 +++++++++++ util/tools/r_functions.pl | 111 ++++++++++++++++++++++++++++++ util/tools/r_lists.pl | 9 +++ util/tools/r_secure.pl | 127 +++++++++++++++++++++++++++++++++++ 8 files changed, 444 insertions(+), 1 deletion(-) create mode 100755 util/tools/db_load_ciphers.pl create mode 100755 util/tools/db_manual_batch_insert.pl create mode 100755 util/tools/db_query_master_applet.pl create mode 100755 util/tools/r_database.pl create mode 100755 util/tools/r_functions.pl create mode 100755 util/tools/r_lists.pl create mode 100755 util/tools/r_secure.pl (limited to 'util') diff --git a/util/masterserver.pl b/util/masterserver.pl index 078eba1..8fda04b 100755 --- a/util/masterserver.pl +++ b/util/masterserver.pl @@ -20,8 +20,10 @@ $MasterServer::OBJ->{$_} = $S{$_} for (keys %S); # load MasterServer core libs MasterServer::load_recursive('MasterServer::Core', + 'MasterServer::Database', 'MasterServer::UDP', - 'MasterServer::TCP'); + 'MasterServer::TCP', + 'MasterServer::Util'); # Run the MasterServer process MasterServer::run(); diff --git a/util/tools/db_load_ciphers.pl b/util/tools/db_load_ciphers.pl new file mode 100755 index 0000000..b047b77 --- /dev/null +++ b/util/tools/db_load_ciphers.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl + +################################################################################ +## Supported Games list ciphers +## Clear the Supported Games table and insert the list of supported games AND +## their ciphers / default ports / descriptions included from the +## data/supportedgames.pl file. +## +## Only config files after 5 October 2015 work with this script. +## +## It is generally not necessary to run this script at all. Normally, the +## masterserver performs the same action on startup. With this script it is +## possible to add new game/cipher pairs or reload the game descriptions +## without having to restart the masterserver. +## Doing so while the masterserver is running MAY lead to missed queries or +## failed secure/validate queries in your logs/output. This is undesirable, +## but always better than being offline while restarting the masterserver. +## +## Use with care! +## +## +## Note: set database name / user / password manually in the code below. +################################################################################ + +use strict; +use warnings; +use DBI; +use Data::Dumper 'Dumper'; + +use Cwd 'abs_path'; + +our $ROOT; +BEGIN { ($ROOT = abs_path $0) =~ s{/util/ciphers\.pl$}{}; } +use lib $ROOT.'/lib'; + +use MasterServer; + +our %S; +require "$ROOT/data/supportedgames.pl"; + + +# open db connection +my $dbh = DBI->connect('dbi:Pg:dbname=masterserver', 'user', 'password') + or die "Cannot connect: $DBI::errstr\n"; + +# intro +print "Deleting old entries... "; + +# check existing entries +my $m = $dbh->do('DELETE FROM games'); +print "Deleted $m lines.\n"; + +# announce +print "Inserting new entries ... (this may take a while) ... "; +my $g = $S{game}; + +$dbh->begin_work; +for (keys %{$g}) { + + $dbh->do("INSERT INTO games (gamename, cipher, description, default_qport) VALUES(?, ?, ?, ?)", undef, + lc $_, $g->{$_}->{key}, $g->{$_}->{label}, $g->{$_}->{port} || 0) ; +} +$dbh->commit; + +# verify +print "Done! "; +my $n = $dbh->selectall_arrayref('SELECT COUNT(*) FROM games as count'); +print "$m game entries found and added. \n"; + + + +# EOF diff --git a/util/tools/db_manual_batch_insert.pl b/util/tools/db_manual_batch_insert.pl new file mode 100755 index 0000000..5b65a13 --- /dev/null +++ b/util/tools/db_manual_batch_insert.pl @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +################################################################################ +## Manual use to insert one or a batch of IP-addresses/ports into the pending +## list, rather than manually adding them with psql. +## +## Use with care! +################################################################################ + +use strict; +use warnings; +use Encode; +use DBI; +$|++; + +our %S; +require "../../data/supportedgames.pl"; +require "r_secure.pl"; +require "r_database.pl"; +require "r_functions.pl"; +require "r_lists.pl"; + +# open db +our $dbh; + +# import list of ip:ports +my @ips = qw( + + +); + +$dbh->begin_work; +foreach my $l (@ips) { + + # break ip:port into $a (ip) and $q (query port) + if ($l =~ /:/) { + my ($a,$p) = valid_address($l); + db_add_server(ip => $a, port => $p); + } +} +$dbh->commit; + +# close db +$dbh->disconnect(); diff --git a/util/tools/db_query_master_applet.pl b/util/tools/db_query_master_applet.pl new file mode 100755 index 0000000..628e03c --- /dev/null +++ b/util/tools/db_query_master_applet.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +################################################################################ +## Manually query other masterservers/applets and save list into the pending +## +## Use with care! +################################################################################ + +use strict; +use warnings; +use Encode; +use AnyEvent; +use AnyEvent::Handle; +use Data::Dumper 'Dumper'; +use DBI; +$|++; + +our %S; +require "../../data/supportedgames.pl"; +require "r_secure.pl"; +require "r_database.pl"; +require "r_functions.pl"; +require "r_lists.pl"; + +# open db +our $dbh; + +my @data = ( + {ip => "dev.333networks.com", port => 28905, games => [qw|ut unreal deusex rune|]}, +); + +for my $ms (@data) { + sleep 1; + query_master($ms); +} + +# close db +$dbh->disconnect(); diff --git a/util/tools/r_database.pl b/util/tools/r_database.pl new file mode 100755 index 0000000..601b1ae --- /dev/null +++ b/util/tools/r_database.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl +use strict; +use warnings; +use DBI; + +our $dbh = open_database(); + +sub open_database { + my $dbh = DBI->connect('dbi:Pg:dbname=masterserver', 'user', 'password') + or die "Cannot connect: $DBI::errstr\n"; + + # don't forget at end! + #$dbh->disconnect; +} + +################################################################################ +## Subroutine dbAddServer +## Add a server to the database (address + port only) +## If the address already exists in the database, it will be ignored. +################################################################################ +sub db_add_server { + my %o = (@_); + + # Try to get the address out of the database. + my $exists = $dbh->selectall_arrayref( + "SELECT * FROM serverlist WHERE ip = ? AND port = ?", + undef, $o{ip}, $o{port}); + return if (defined $exists->[0]); + + $exists = $dbh->selectall_arrayref( + "SELECT * FROM pending WHERE ip = ? AND heartbeat = ?", + undef, $o{ip}, $o{port}); + return if (defined $exists->[0]); + + #print "Add $o{ip}\t $o{port}\n"; + $exists = $dbh->do("INSERT INTO pending (ip, heartbeat) VALUES(?, ?)", + undef, $o{ip}, $o{port}); +} + +1; diff --git a/util/tools/r_functions.pl b/util/tools/r_functions.pl new file mode 100755 index 0000000..f4834c6 --- /dev/null +++ b/util/tools/r_functions.pl @@ -0,0 +1,111 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use Encode; +use AnyEvent; +use AnyEvent::Handle; + +our %S; + +################################################################################ +# Verify whether a given domain name or IP address and port are valid. +# returns the valid ip-address + port, or 0 when not. +################################################################################ +sub valid_address { + my $h = shift; + + # split up address and port + my ($a, $p) = ($h =~ m/:/) ? $h =~ /(.*):(.*)/ : ($h,0); + return (undef,undef) unless ($a && $p); + + # resolve hostname when needed -- shouldn't even be in the list! FIXME + #if($a =~ /[a-zA-Z]/g) { + # my $raw_addr = (gethostbyname($a))[4]; + # my @octets = unpack("C4", $raw_addr); + # $a = join(".", @octets); + #} + + # check if IP and port are in valid range + $a = ($a =~ '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b') ? $a : 0; + $p = (0 < $p && $p <= 65535) ? $p : 0; + + # exclude addresses where we don't want people sniffing + for (qw|192.168.(.\d*).(.\d*) 127.0.(.\d*).(.\d*) 10.0.(.\d*).(.\d*)|){$a = 0 if ($a =~ m/$_/)} + + return ($a, $p); +} + +sub query_master { + my $ms = shift; + + for my $g (@{$ms->{games}}) { + + my $cv = AnyEvent->condvar; + my $master_list = ""; + my $handle; $handle = new AnyEvent::Handle( + connect => [$ms->{ip} => $ms->{port}], + timeout => 15, + poll => 'r', + on_error => sub { + print "($ms->{ip}, $g) $!\n"; + $handle->destroy; + $cv->send; + }, + on_eof => sub { + process_received_data($master_list, $g, $ms); + $handle->destroy; + $cv->send; + }, + on_read => sub { + my $m = $_[0]->rbuf; + $_[0]->rbuf = ""; + + # part 1: receive \basic\\secure\$key + if ($m =~ m/\\basic\\\\secure\\/) { + + # received data + my %r; + $m =~ s/\\([^\\]+)\\([^\\]+)/$r{$1}=$2/eg; + + # respond to challenge + my $validate = get_validate_string($S{game}->{$g}->{key}, $r{secure}, $r{enctype}||0); + + # print and send response + $handle->push_write("\\gamename\\$g\\location\\0\\validate\\$validate\\final\\"); + + #part 3: also request the list \list\gamename\ut -- skipped in UCC applets + $handle->push_write("\\list\\\\gamename\\$g\\final\\"); + } + + # part 3b: receive the entire list in multiple steps. + if ($m =~ m/\\ip\\/) { $master_list .= $m; } + } + ); + $cv->recv; + } +} + +sub process_received_data { + my ($buf, $g, $ms) = @_; + $buf = encode('UTF-8', $buf); + + #counter + my $c = 0; + + # parse $buf into an array of [ip, port] + foreach my $l (split(/\\/, $buf)) { + + # search for \ip\255.255.255.255:7778\, contains ':' + if ($l =~ /:/) { + my ($a,$p) = valid_address($l); + next unless ($a && $p); + db_add_server(ip => $a, port => $p); + $c++; + } + } + + print "found $c \t$g \taddresses at $ms->{ip}.\n" if ($c > 0 ); +} + +1; diff --git a/util/tools/r_lists.pl b/util/tools/r_lists.pl new file mode 100755 index 0000000..73a4203 --- /dev/null +++ b/util/tools/r_lists.pl @@ -0,0 +1,9 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +sub get_gamename_list { + return qw| thecombatwii magmay2d sbk09usps3d kohanag hotwheels2ps2 bfield1942ps2am jbondmv2ds crysis2ps3am draculagolds coteaglessp railsam rfactory2ds steeltide timeshift blade acrossingdsam atlas_samples thps3pc ravenshieldas splintcellchaos winters3nawii superv8pcd cnoutbreakd bldragonNAdsam sptouzokuds crysis2pc ufc10ps3am spartan disfriendsds dragonbzUSwii rtlwspor11wii crysis2pcam ut3ps3am ballarenaps3d cellfacttwpcam bllrs2005ps2d hunterdanwii momotarodends redalert3pcbmb megamansfeuds qsolace greconawf2bam swat4xp1 robolypsewii hd2d swordotnw micchannelwii jkmosith1 bgatetales slugfest06ps2 civ4wrldmac dungeonr digimonsleds mcmaddemo velocitypc AmMcGeeGrimm03 pbfqm tribesv Customrobods cohofbeta blitz2004ps2e gtacwiphoned ta cc3tibwarsmb gorese gta4ps3test xenocellpcam maxpayne3ps3am bfield1942rtr homeworld2d giants omfbattleb bcm heretic2 raw2009wii digisunmoonds irl2000 wormspspam riseofnationsam famfishwii mototrax pba2001 cellfactorpcam flyinghero rontp h2cdigitalps3 ravenshield mohpad rdr2ps3am destruction taking mcmania motogp09ps3d beateratoripham itycoon2 ultibandwii greconawf2b smackdn2ps2pal scourgepc voiceapp raymanrr2wii commandos2 exigobam kaosmpram mmadness2 rally empiresd mclub4ps3 necrovisionpcam bldragonNAds kingtigerspc section8x360 empires civconps3 section8pcbd banditsd powerslide facesofward besieger smackdnps2kor biahhPOLps3am metalmax3ds tpfolps3 bbobblewii blitz08ps3am wcpool2004ps2 bstormps3 painkilleroddam nitrobikeps2am s_cssource dqmonjkr2plds segaracingwii ludicrousmac wmarkofchaos hrollerzds NN2Simple pokedungeonds supv8ncusps3 actofwarht nitrobikeps2 monopolyty doraemonds mini4wdds 50centjpnps3d cc3kwmb obiwon biahhJPps3d tetrisppwii scrbnateu2ds anno1701 chessrevpc girlsds hotrod2 painkresurrpcam arkaUSEUds homeworld2 bderlandsps3am ufcfitwii civ4b chessrevpcam pokedngnwii armymen ra2 bluemarspc dogsofwar conquestfwd bang rtlwspor11wiiam drainworks othellods bleachds blitz2005ps2 gta4xam ghero4wii janefightpcam dtrscdmo whammermocd ragonlinenads mekurucawii slclothingdsam srow2ps3 whammer40kwa superv8ncpc worldshiftpcb mclub4ps3am draglade2ds cnpanzers2cwbam siextremeds sawpc moo3 sshafricawii vietnamso swbfront3pcCam cmmwcpoker titanquestit blitz2004ps2b daoc fakk2 roguewarpcd celtickings fairyfightps3 blic2007 civrevasiaps3 axis tsfirestorm cstaisends arkanoidds conflictsopc cc3xp1 megaman9wii scotttest taprace kacademy bllrs2004ps2d ufc10ps3DEV survivor casinotourwiiam demonforgepcd section8pcb uchaosrrps2 marvlegps3pam warlordsb2 MotoGP08PS3 civ4wrldam rockmanwds mcmad exigob crysis2x360am kenteitvwii painkillerd sonoatestam redalert3pcam sanitybeta petz09ds bldragonfds pbellumr1 dh2004 populoustb gshearts pocketwrldds tmntds parabellumps3 mxvsatvutps2 simsraceEUds decsprt3euwii scribnaut2ds dh4 reloadtdwiiam srow2pcam strategistpc dv quakewarset mtruckm2 ageofsail2 puzzleqt2ds blindpointpcd civ4btsjpam poriginpcjpam cnpanzers2cwam E3_2003 shadowforce redline srow2xb360am fbackgammon hotncoldds AncientQofSaq mfcoachwii smrailroads demonforgepcam swbfront2pcb menofwarpcdam metprime3wii globalopsd tpfolpcBam mechcomm2 powerkoushds dinokingEUds sonicrushads roguewarpcam cskiesdemo ut3jpps3am cc3xp1am necrovisionpd sumofallfears racedriverd dmhand gtacwarspspam halomac worldshiftpcam riskingdoms sakatsukuds puzquestds wkingsb gamespy1pc srgakuendsam appletestd THPGds bf2142 smgettysbu demonforgeps3d mmadnessexps3am srow2ps3am cnoutbreak sbkUSpc tcendwar FlockPCd winelev11wii oldscrabble monhuntergwii nplusds DeathtoSpies xwingtie dominion rrt2scnd diablo2 cmr5pcd phylon serioussamps2 cod5wii SF3XboxPSrv riskps2dis mafia2ps3 actofwarhtam rulesotg svsr10x360am ZumaDeluxe jetfighter4 quake4 spellforce lanoirex360 woosc topspin2pc cskies cityofheroes fsw10hps2pal jk cc3dev charcollectds trackfieldds terrortkdwn2d gta4ps3 fearxp1 tpfolEUpcam treadmarks bg2bhaal aowsm bandits cc3arenapcam tribesvb nights2wii cruciformam syachi2ds contractjack rmth2003 motogp3 mafia2pc mohaasmac thps5pc konductrads legofwreps3 bbarenaJPps3d cod7ds ut3pcam rfactory3ds mua2wii segarally2 wiibombmanwii woforam 50ctsndlvps3am civ4wrld kissdc whamdowfrbam kohankow worldshiftpc motogp08ps3 blitzkriegrt mohaa nanost2EUds quake2 beateratoriph digichampds superv8ps3am avp2demo quake1 trkmaniawii tablegamestds hd2b beatrunnerwii vietkong scribnautjpds matrixproxy ufc10x360d sukashikds cc3tibwars lanoirex360d chessrevmac fxtrainingds biahhPRps3d ffvsttrd renegadebf srow2pc actofwarhtdam haegemonia overturnwii marvlegps2p parabellumpcam metalcrush3 jikkyonextwii neopetspapcam survivorm lotr3 dh2003 tgmasterds bokujyomonds robotarena2 genesisr empiresam mohaamac SF3XboxPSrvam crysis2pcd mtxmototrax section8pcd rsblackthornd black9ps2 dimensitypcam sbkUSps3am rftbomb cc3xp1mb jissenpachwii scsdwd medarotds ronbam bderlandspcam conduit2wii vtennisacewii fuelpc stnw mysecretsds dungeonsiege stlegacy aoe3wcd gspyweb cardherodsam mech3 cc3arenapcd dtr2d fwarriorps2 3DUltraMinigolf nba2k11wiiam marveltcardds ufc10ps3 harbunkods nthunder2004 msgolf99 streetracer lostmagicwii legendaryps3 mrpantsqm monlabwii motogp08pc bleach2wii testam rofam suddenstrike2 rfgrlaonliveam roguewarps3 prismgs realwar gulfwarham 3celsiuswii srgakuends mariosprtwii armedass midmaddemo stronghold SF3PS3PSrvam dawnheroesds redalert3pcbam pbellumr2 sweawfocd legendsmmbeta ufcfitwiiam penginhimids wsc2007ps2 propocket12ds tpfolpcd marveltcard ludicrousmacam unowii FlockPSNd ritesofwar rdpoker nindev marvlegps2pam iwdale bots darkstone cardgamesds decasport2wii 3dpicrosseuds uchaosrrps2am facesofwarxp1 sawps3d greconfswii strikefighters1 tycoonnyc facesofwarxp1am vietcong wiilinkwii arma2pcam dtrsc bumperwars nomansland dirt2onlive mukoubuchids mclub2ps2 biahhPOLps3d rallytrophy dimensitypcd redalert3ps3 ufc09x360 menofwarpcb ioftheenemy fury horserace TG09PCam redorchestra chesk ufc10x360 quizmagicds fuelps3ptchdam fifa09ds bgate2 marvlegpcd tpfolpcB fstarzerods s_tf2 civrevoasiads sinpunish2wii yakumands midmad airhockeywii racedriver mfatigue gamespy2 sbkxpcdemo assaultheroes spectrobes2ds etforces demonforgepc 3dpicrossUSds dsakurads checkers moutlawne sawpcd bfield1942ps2b bfield1942 takameijinwii railty3 crysis2x360 sinmac axisallies wooscd bc3k swbfrontpc links2001 disneydevam worldshiftpcd bokujomonods streetjam poriginpcjpd medieval2am cfs2 Majesty2PCam TG09PS3 ffantasy3ds maxpayne3x360 motogp09ps3am scourgepcam nwnxp2 pbfqm2 maxpayne3ps3d testdriveud nvchess karajoy3wii battlemages acejokerUSds swat4d wormsow2ds winx2010ds dragonbzwii bldragonds sbkxpcam marvlegps2 ee3alpha birhhps3am legofwreps3am timeshiftb assimilation rebellion cueballworld monkmayhemwii rman2blkredds na2runpc stellad jyankenparwii codwawbeta jk3 takoronUSwii gauntletps2 bandw fargate section8ps3d runefactoryds picrossEUds ludicrousmacd wormswiiwaream msecurity closecomftfmac simsracingds roadwars brigades wh40kdow2crolam proyakyuds reloadpcam plunderps3 mkvsdcps3bam supcommb lotrbme wcsnkr2004pc roguespeard nakedbrbndds mkarmpalps2 elemonsterds close4bb janefightps3 stlprinEUds hokutokenwii sbk08pcam terminus hotrodwii MotoGP08PCam newgamenameam maxpayne3x360d pnomads risk2 cc3arenapc eearth2xp1 wrldgoowii spcell3coop fstreetv3ds eawar wrcps3 conquestfw blkuzushiwii superv8usps3 digistoryds links2001dmo biahhPRps3 wsoppsp devastation civ4jp section8pcbam bldragonfdsam eearth3b expertpool digistorydsam racedriver3pc avp2ph uotd mkvsdcps3 decsprt3nawii knelynch2ddolam genetrooperps2 fushigidun5ds pangmagmichds aoex neopetspapc seafarmwii tetrisds bstormps3am figlandds amfbowlingds menofwarnam beijing08ps3am painkresurrpcd superv8USpc luchalibrepc railty2 redalert3pc thps5ps2 sbkxps3demo ut2004 vietcong2d boardgamesds chessrevmacam tokyoparkwii ballers3ps3 strategistwii strategistpsnam starwrsfrc il2sturmovikfb mprimeds mxvsatvutwii gunman FlockPSN blahmasterid sfc2dv olvps2 im1pcam puzzshangwii codmw2ds gwgalaxiesds upwords hd mechcomm picrossds dukes gtacwarspspd ysstrategyds foxtrotps3 xenocellpc gta4pcdevam mxvsatvutps2am il2sturmovik codedarmspsp greconawfd dragladeds bombermanslds anno1602ad riskingdomsam ben10bbam cc3tibwarscdam bgate poriginps3jpd rafcivatwart gsspades WSWeleven07ds bonkwii fearobsc gta3pc crysisd svsr11x360 section8ps3 tpfolEUps3am rune crysis2x360d castlestrike rainbowsixv fireemblemds pokemondpds yugiohgx2ds keuthendev section8ps3am whammermoct dundfniphoneam exigo wrcpcam moutlawned greconawf2am wz2100demo silenthunter2 ut2004d whammermocbmd harmoon2ds superv8ncpcd rallychamp SampAppTestam heistpc projecteden dh2005 group links99 hlwarriors springwidgetsam risingeaglepc elevenkords lithdevam ufc09x360d avpnotgold fifa08ds chocobombds sacrifice earth2150 topspin3euds gh4metalwii qlione rachelwood bfield1942rtrm whammer40kdcam penginhimidsam sparta2pcam acrossingds sforces quake3 warlordsb2d poriginps3jpam rof sporearenads starpballwii motogp2 bf2142d fherjwkk trivialppalps2 aoe2tcdemo swat4xp1_tmp superv8ncps3am sbk09pc ut3ps3 cohof bballarenaps3am serioussamse nfsprostds lionheart shogo contactds fswps2kor s_cstrikecz stbotf warcraft2bne gotchad roguewarpc prey mt2003 TEST1 wingsofward ut2d dqmonjokerds famista2010ds 2kboxingds nitrosample descent3 ardinokingds patchtest yugioh5dds fuelps3am mk9test dental2dsam wcpoker2pc sengo3wii ubisoftdevam ccrenegadedemo winelev10wii wracing2 risingeagleg motogp09pc guinnesswrds risk mleatingJPwiiam blitz2004ps2 gh4vhalenwiiam mfightbbukds gsTiaKreisDS sneeziesdsw gloftpokerwii civ4xp3am tankbeatEUds chspades civ4mac duelfield test071806 wsoppcam kentomashods cmanager3 thps6ps2 bf2sttest furfighters furdemo mohaasd dundefndps3am marvlegpcdam gp500 finertiaps3am molecontrolpcam firearmsevopc robotech2 armymenrts leadfoot crysis2ps3d tpfolpcam mkvsdcps3b warmonger sbk08ps3 maxpayne3pc aowfull ut3pcd bleach2EUds legendaryps3am civ4 section8pc ingenious runefantasyds ecolisEUds weleplay09wii civ4jpam codblackopspc axallirnb mk9testam neopetspapcd okirakuwii poriginps3jp namcotestd socelevends netathlon2 mxvatvutEUwii nobuyabou2ds dynaztrialwii janesattack marvlegjpps3am tempunavail cellfactorpsnam opflashd hoodzps2 tataitemogwii blahblahtest luminarcUSds menofvalor gspylite elebitsds wordzap reloadtdwii thps7ps2 fatedragon superv8ps3d yugiohWC07ds kaosmprd simsraceJPNds menofwarasr subcommand mcdcrewds greconawf2d revolt starsiege swrcommando dundefndps3 smackdn2ps2kor sofretail crashnburnps2b GameSpy.com strategistpcd mxun05ps2am h2cdigitalps3d supruler2010 wracing1 sbubpop foreverbl2wii pente swine ufc10ps3DEVd strfltcmd2 callofduty legofwrex360am panzergen2 koshien2ds stitandemo gspoker powerpinconds spartaawd wofor cnpanzers2cwb redalert3pcdmb tmntsmashwii swbfespspd quakeworld hotrodwiiam le_projectx masterrally facesofwaram lotr3b treasurewldds hustleps2am swgbd tacticalops kingclubsds otonatrainds ufc2010iphone mcomm2 iwd2 insanedmo rdriver3ps2d beateratoram bballarenaps3 entente menofwar:asam MenofWar nitrofamily narutorpg3ds thesactionwii hail2chimps3r bstrikeotspcam monsterfarmds afrikakorpsd moonproject gta4pcdev aliencrashwii fuelps3ptchd ddozenptd dirt2onliveam dtracing mechamotedsi AmMcGeeGrimm04 blurdsam racko ut3pc appletest civ2gold fear birhhpcam codwaw aarts pb4 puyobomberds narutor3euwii linksext sbk09usps3am ace sin psyintdevpcam linksds tenchu4wii battlerealmsbBA scsdws wcsnkr2005 diplomacy tpfolps3am swg gangsters2 ubisoftdev ptacticsds takoronKRwii whamdowfrb saturdaynsd simplejudowii emperorbfd st_rank wormsarm originalwar ddayd guinnesswrwii sharpshooter fordvchevyps2 mfightbbukdsam etherlordsd actofwarhtd katekyohitds ageofconanb SF3PS3PSrvmb dragonthrone biahhRUSpc stormrisepcd texasholdwii il2sturmovikd lotrbfme2 livewire sbkUSpcam bldragonids yugioh5dwii close5 demonforgeps3am legionarena whammer40000 cfs jbnightfire combatzonepcd trivialppcsp nolf gslive ut3jppc tetriskords sniperelps2 poriginpcam sonicrkords perimeter blindpointpcam sbk09ps3am chesschalwii midmad2dmo mk9testd drakan spaceremixds idraculawii rock rdgridds FlockPC wcpokerpalps2 tankbeat2ds suddenstrike black9pc fsxaam alphacent pkodgermand heistps3 outlaws mclub4xboxdev chesschalwiiam wofordam shogiwii 4x4retail saspc parcheesi callofduty5 scrabbledel mswinterwii necrovision lanoirepcd civ3con millebourn cvania08ds bsmidwaypc 50centjpnps3 motogp2007 cc3kwcdam superv8ncpcam DaggerdalePS3 civ4wrldcnam prismgsd deusex omfbattled PowaPPocketds spinvgewii fearob sakuraTDDds parabellumps3am janefightpc mxun05pc medarotkuds mkvsdcxbox ufc10x360devd im1pc carnivores3 praetorians worldshiftpcbam mafia2ps3am yetisportswiiam serioussam callofdutyps2 roguespear srow2ps3dam darkplanet tpfolEUpcBd werewolf legendsmm codblackopspcam mobileforces cardherods swrcommandoj echelon serioussam2d olg2PS2 doom3 tribesvd evolva trivialppalpc dsnattest2 tron20d bz2 wwkuzushiwii tiumeshiftu civ4coljpam dod dungeonlords scrbnatot2ds fightclubps2 AliensCMPS3d mechamotedsiam preyd civ4btsam 50centsandps3am gravitronwii 7kingdoms pubdartswii mostwanted bluemarspcam pariahpc rtlwsportswii reloadpc sshafricawiiam clubgameKORds dartspartywii hail2chimps3d dtr2 mta hotpacnadps2 rockstarsclubam swsnow2wii diablo supcomfabeta wlclashpc sonoatest trkmaniads utdc luminarc2ds trivialppcit coh2pcam marvlegpc fairyfightpcd fswps2jp avponliveam svsr09x360 mysimsflyerds armymenspc civ4ruam f1teamdriver orb fatedragond wsopps2am 50centsandps3 battlefield2 ut mooncommander swbfront2pcd cmr5pc kohanexp swbfrontps2p ffvsttr roguewarps3d topspin swbfront2ps2j rdr2x360am betonsoldier omfbattle halo beijing08ps3d bangdemo bfield1942mac allegiance cultures ds9dominion fsw10hps2kor slancerdc agrome betonsoldierd whammermocbm spectro2wii thps3pcr nwnxp1 starcraftexp themark majesty smackdnps2 sballrevwii mmadexps3d MSolympicds influencepcam aquanox sfcdemo thps3ps2 sbkUSps3 nolf2d gamevoice cod5victoryds hearts rbeaverdefwii fblackjack indycarps2 ragunonlineds crmgdntdr2k superv8pcam combat bleach2ds famista09ds hotrod scribnaut2wii suddenstrike3 civ4am dundfniphone trivialppcgr crystalw2wii strifeshadow bokutwinvilds beijing08pcd MotoGP08PC bgeverwii duke4 madeinoreds mxravenpsp dsnattest 8ballstarsds mohaabd globalops plunderpc taisends area51pcb zeroGds marvlegps3am fuelps3 tpfolpcBd ghostraw redalert3pcb dwctest metalfight3ds koinudewii SF3XboxPSrvmb forsaken bldragonddsam rtcw snightxds thps4pc armaas swbf3pspam evosoc08USds eearth2 cribbage hotwheels2pcd mech4 s_hl2dm smashbrosxwii custoboeuds greconawf battlefield2d dinokingUSds dsiege2am biahhJPps3am motogp09ps3 goreAVd cardheroesds jikkyopprowii sbk08pcd topspinps2 ccgeneralsb janesusaf DSwars2ds timeshiftx SF3RemiXboxam popwii lostmagicds gopetsvids mk9ps3 devastationd sof2 sbk09ps3 destructionam evaspacewii cc3devam menofwarpcd racedriver3pcd sonic2010wii cnpanzers2cw venomworld sweawfoc CVjudgmentwii pbellumr3 MOHADemo vietcong2pd tiberiansun ufc10x360am racedriver2d ffcryschronds scribnaut2pcam mmvdkds stalkercoppc poriginpc vietcong2 thps4ps2 rdriver3ps2 abominatio whammermok biahhPOLps3 Jyotrainwii f1comp girlssecEUds twoods08ds wormswiiware trivialpps2 Digidwndskds callofduty2 testdriveuak backgammon tcounterwii gts4xdev tapraceam scratchdjpc rockmanBSDds bfield1942t mohaad buckmaster soccerjamds whammermoctam dexplorerds medarotkudsam epochwarspc AliensCMPCd mtmdemo s_darkmmm damnationps3am condemned2bs acrossingwii wordjongFRds bldragonsds tribes test rockstarsclub konsportswii AGON ginrummy redbaronps3 scsdw bboarderswii mmessagesds pokebattlewii mleatingJPwii mplayer ironstorm hustleps2 whammer40kb strategistpcam sekainodokods simspartywii ghpballps2 source santietam harvfishEUds amworldwar poriginps3d timeshiftg orderofwarpcd rpgtkooldsi falloutbos chesswii plunderps3d rainbowislwii stef1 fswps2pal appletestam megaman10wii harmooniohds bioshockd painkillert blood2 potbs gh4ghitswii ccombat3 saspcam statesmen exigor cc3tibwarsam shatteredunion hotpacificpcd kidslearnwii marvlegjpps3 thps3media avp2lv swempiremacam lazgo2demo facesow teamfactor darkreign2 nhl2k10wii spoilsofwaram painkresurrpc testdriveub ninjagaidends jbondmv2dsam armada2beta opfor actofwaram parabellumpcd secondlife velocityps2 menofwarpc pandeponds area51pc lozphourds kaihatsuds sdamigowii mmartracewii puyopuyo7wii mcommgold strfltcmd2d stalkercs vietcongd motogp09pcd pssake blockrushwii gokuidsi iwar2 kott2pc ganglandd srally2dmo ghostrecon legendarypc shootantowii chat haegemoniaxp stormrisepc orbb st_highscore rdr2ps3 bejeweled2wii fallout3 ufc09ps3d gmtestcd janesf18 birhhpc sakwcha2010ds opflashr ihraracing crttestdead sparta2pc tenchuds sonic2010ds links98 sumofallfearsd lonposwii damnationpcam escviruswii beijing08pcam civ4macam srow2ps3d kingpin heistpcd mageknightd scratchdjpcam s_l4d glracerwii ghostsquadwii scotttestam heavygear2 judgedredddi motoracer3 dragoncrwnwii scrabble3 sbkxpcdemoam MotoGP08PS3am lanoirepc smball2iphd kodawar2010ds marvlegpcam civ3conb svsr10x360 nwn lanoirepcam bombls2ds winel10jpnwiiam atlantis redsteel2wii halod smackdnps2palr oishiids timeshiftps3d drmariowii memansf2EUDS stylelabds uprising2 ironstormd lanoirex360am nanostray2ds beateratoriphd gta4ps3devam foxtrotps3d armedassd gtasaps2 bderlandsx360d nwn2 mahjongkcds luchalibrewii ufc09ps3am swempiream aoe2tc civ4wrldjpam momoden16wii blkhwkdnps2 blockoutwii TG09360am svsr11ps3 jk2 swbfront3pc nitrobikewii simsflyerswii hobbitdsam kohankowd batwars2wii scrabble girlssecretds projectigi2r cossacks lumark3eyesds strifeshadowd q3tademo segatennisps3am superpower2 aartsd culdceptds tolmamods cpenguin2wii furfiighters gamebot mclub3ps2 medieval2d rfactoryKRds flashanzands daikatana falloutbosd bspiritsdsam gangland serioussam2 marvlegps3 terrortkdwn2 gsttestgame phoenix ffantasy3usds shirenUSEUds realwarrs painkillerodam Majesty2PC SF3RemiXbox gsyarn actofward locomotion tf15 hail2chimps3ram champgamesps3 nerfarena xmenleg2psp mxvatvuPALps2am and1sballps2 wormsforts zax eearth3dam psyintdevpc combatzonepc digichampKRds CM_Testing aow2 tothrainbowds tqexp1 buccaneerpcd moo3a wmarkofchaosdam menofwarasam ut3onliveam starraiders rtcwtest stronghold2 zdoom mageknight waterloo c5 rometw hsmusicalds cpenguin2ds cheetah3ds SF3RemixPS3am mxun05pcam bderlands360am keenracerswii strongholdcd sawps3am freepark phybaltraiwii sanitydemo gta4xgrmam tron20mac wotrb stalkercsam kiss scourgeps3d firecapbay swbfront3pcam plunderpcd bfield1942sw winters3nawiiam rsblackthorn Decathletesds projectigi2d mcm2demo halom mclub4xboxam maxpayne3pcd gamespy2pc onslaughtpc metalfight3dsam dragquestsds gta4pcam dmania necrovisionpcd strongholdc myth3 smball2ipham spellforced simcitywii ffurtdriftps2am swtakoronwii hardtruck mk9ps3am digiwrldds sbkxusps3am swbfespspam tecmoblkickds turok2 fmasterwtwii kqmateDS midmad2 bderlandsps3 mech4merc bleach1EUds vanguardsoh scribnaut2pc buckshotwii bandbrosds lithdev tpfolpc swbfffpsp derbydogwii trivialppcfr memansf2USDS gta4xgrm fswpc getmede eternalforcesam rmth3 superv8usps3am kkhrebornwii lotrbme2 bsmidwayps2am jbond08wii conan cstrike beateratorpsp wrcps3d sbkxps3d gunnylamacwii aliencross startrekmacam cityofvl evosoc08EUwii contrads krabbitpcmac justsingds Narutonin2ds strategistpsn ut3jppcam marvlegnpspam sbkxpcd radiohitzwii ascensionpcd biahhJPps3 blademasters im1pcd slclothingds commandpcam topspin3usds fullautops3 FlockPSNam olg2ps2 guinnesswriph kohan commandpc motogp4ps2 gta4ps3grmam valknightswii wingsofwar area51ps2 freedomforce nwn2mac lanoireps3d atlantica civ4xp3d opblitz nhl2k11wiiam trivialppc djangosabds fairyfightps3d toribashwii sbkUSps3d bewarewii peoplesgen bfvietnam ffantasy3euds carnivalkwii genetrooperpc redalert3pccdam celtickingsdemo maxpayne3pcam luchalibrepcd crysis2ps3 fuusuibands sengo3wiijp mohaabmac gta4ps3dev pachgundamwii bbarenaJPNps3 netathlon swbfront2ps2 na2rowpc gtacwarspsp blockade TG09PS3am battlerealms groundcontrol2 tetrisworlds redbaronww1 asobids impglory crimson madden09ds svsr10ps3am swat4 beijing08pc tpfolEUpcB migalley openseasonds wosinmac foxtrotpcam myth3demo viper blandsjpnps3am coh2pc nwn2macam scribnauteuds whtacticspspam harleywof scourgepcd spades rfberlin influencepc swbfront2pc cueballworldd hotpacificpc ddayxp1 startreklegacy regimentps2 ryantestam elecraildsam nfs6 hotwheels2pc protocolwii nsr0405 bfield1942ps2 buccaneer nthunder2003 chocotokiwii bderlandspcd truecrime fear2olam rtrooperpcam hobbitds swgb armada2 tribes2 specialforces sonicdlwii rb6 dfriendsEUds lonposUSwii luminarc2USds mkvsdcEUps3am actofwardam namcotest puffinsds ragonlineKRds whammer40kwaam whammermocam playgrounddsam sawpcam cellfactorpsn whamdowfram wrcps3am bomberman20ds bodarkness Rabgohomewii hitz2004ps2 chaserd gauntletds close5dmo homeworld2b bleach1USds bsmidwaypcam marvlegpspam rockstardev sonicbkwii MSolympicwii boggle arkwarriorsam motogp09pcam DrnWrk(iphon)am warfronttp puzzlernumds chess rnconsole hhbball2001 tpfolEUpc afrikakorps cnpanzers2cwd thawpc jacknick6 starcraftdmo plunderps3am narutorev3wii exigoam crysisspd commandos3 stitans mlb2k11wii sanity actofwar gta4x serioussamsed ejammingpc bomberfunt Majesty2PCd fltsim98 SF3RemiXboxmb unbballswii suparobods cmr4pcd yakumanwii gicombat1 gh4vhalenwii evosoc08USwii svsr11ps3am touchpanicds DaggerdalePCam 4x4evo wlclashpcam necrolcpc spyvsspyps2 gschess ddozenpt gamepopulator frontlinesfow surfsupds ra3 knightsoh dh3 mobileforcesd cuesportswii gamespy2pcam sbkxusps3 wildwings itadakistwii sangotends hd2ss jnglspeedwii anarchyonline marvlegnpsp iwdalehow blurds Superslamhapcam civ4wrldcn necrovisionpdam soa suitelifeds wicb TG09360 ludicrouspcd ellipticpc AliensCMPCam svsr11x360d arkwarriors dinerdashwii mkarmps2 fairyfightspcd quakewarsetb heroes3 wsc2007ps3 kingtigerspcam gettysburg redbaronps3am ufc10x360devam blitzkrieg tomenasawii gticsfestwii keuthendevam casinotourwii etherlords hhbball2000 majestyx cricket2007 sof2demo soad tankbeatds mfightbbueuds starcraft ffowbeta orderofwarpc nfsmwucoverds mkvsdcps3am whammermocbmam AliensCMPS3 ucardgamesds ufc2010iphoneam motogp3d gc2demo aoe2 puyopuyo7ds superv8USpcam callofdutyuo janefightps3am svsr10ps3d sof 50centjpnps3am megamansfds 4x4evodemo newgamename officersgwupcam section8pcam bderlandruspc lanoireps3am worms3 agentps3am rogerwilco rtrooperpc talesofgrawii mohpa supcomm terrortkdwn2am madden08ds janesww2 gsbgammon ufc09ps3 harley3 postal2d rtcwet mclub4ps3dev mcmaniadmo mariokartds ut3jpps3 fearxp2 sbkxps3 tzar painkillerodd maxpayne3ps3 xmenlegps2pals biahhPCHpcam cheuchre bsmidway whammermoc bfield1942swd gsreversi aoemythds scourgeps3 swbf3psp othellowii swempire pitcrewwii wwpuzzlewii ufc10ps3DEVam civ4cham wordjongeuds foreverbwii avp2 ccrenegade yetisportswii hotpaceudps2 lotrbme2r cneagle ascensionpc smrailroadsjp xmenlegps2pal scourgerpcam mohairborne ilrosso facesofwar startrekmac metalfightds fsx arma2pc girlskoreads crysiswars cnpanzers sniperelpc mech4bkexp snackdsi virtualpool3 cusrobousds ffurtdriftps2 actval1 dirtdemo wh40kdow2crol marvlegpsp tankbattlesds aoe2demo gtacwarsds hwbasharena poriginpcd svsr09ps3 whammer40kt mclub2pc theracewii menofwar:as 333networks bbladeds celtickingspu menofvalord scribnautsds mkdeceppalps2 monhunter3wii nba2k11wii dow heistps3am sbk08ps3am saadtest wtrwarfarewii links2004 wicd luchalibrepcam goreAVam jkmots kott2ps2 slugfestps2 psyintdevpcd fifasoc10ds bllrs2004ps2 civ4wrldjp takeda wot ufc2010iphoam echelonwwd eearth3am SF3RemixPS3mb jumpsstars2ds arma2oapcam spbobbleds condemned2bsd civ4coljp jikkyoprowii paraworldd civrevods cardiowrk2wii tcghostreconaw mkvsdcEUps3 dreamchronwii wlclashpcd revolution conduitwii halor fairyfightspc wincircleds fileplanet mdamiiwalkds otonazenshuds projectigi2 ufc10ps3d simsportswii smball2iph damnationps3 beateratorpspam mech3pm swbfront3wii section8x360am kingtigerspcd hawxpc evosoccer08ds rtcwett banburadxds civ2tot maxpayne3x360am wcpool2004pc q3tafull blahtest sbk08pc crystalw1wii halomacd hhball2003 chasspart5 ppkpocket11ds spacepod planetside sparta2pcd cc3tibwarsd scourgerpc reichps3 swbfront3ps3 pokemonplatds cellfactorpc quizmagic2ds ufc09x360am captsubasads namcotestam gscheckers epochwarspcam armygame mohaab laserarenad preystarsds civ4colpcd ballers3ps3d rook rfactoryEUds fsw10hps2 jbond2009ds quakewarsetd fantcubewii fltsim2002 bldragonsdsam starlancer closecomftf wptps2pal unreal blandsonlive idolmasterds aoe suitelifeEUds freessbalpha bbarenaEUps3am test1 luchalibreps3 contractjackd GunMahjongZds tetrisdeluxds TG09PC bfvietnamt dtr medieval2 fsxa contractjackpr superv8ps3 heiseikyods liightwii boyvgirlcwii mclub4xboxdevam blandsjpnps3 capitalism2 sonriders2wii FieldOps cavestorywii ikaropcam tribes2demo hexenworld callofduty4 mogumonwii ee3beta gwgalaxieswii dshardam wcsnkr2005ps2 krissxpc railsamd nrs2003 tdubeta dogsrunamock ellipticpcam bderlandsps3d cadZ2JPwii foxtrotpc redalert3pccd medievalvi parabellumpcdam decasport3wii kororinpa2wii archlord gta4pc nobunagapktds greconawf2 tvshwking2wii civrevasips3d legouniverse ghostrecond bmbermanexdsi mmtestam redalert2exp rdr2x360 arma2oapc cruciform bbarenaEUps3d aow3 and1sballps2am gtacwiphone blitz08ps3 lanoireps3 ut3onlive svsr10ps3 redalert2 topspin4wii nthunder2004d ballers3ps3am fullautops3d surkatamarwii ludicrouspc beateratord gta4ps3am asbball2005ps2 gts4xdevam ssamdemo thps4pcr guitarh3wii pkodgermanam drainworksam stefdemo MLBallstarsds bbarenaEUps3 bderlandsx360 spoilsofwar stella ronb scourgeps3am Nushizurids superv8ncps3d svsr11ps3d demoderby whammer40kbam ww2frontline anno1503b mohaabdm sinpun2NAwii breed metalmax3dsam bderlandruspcd tpfolEUps3 crysisb mtgbgrounds unodsi bf2142e supv8ncusps3am cc3kwcd usingwii xmenlegps2 sbkUSpcd elecrailds bstrikeotspcd stef2 gmtest supcommdemo Asonpartywii buckshotwiiam wptps2 orderofwarpcam mebiuswii dogalo postal2 baldursg Superslamhapc infectedpspam imagineartds everquest2 timeshiftps3 puzzlemojiwii 12irondsam ccgenerals lovegolfwii fairyfightspcam wkingsbd swempiremac famstadiumwii gradiusrbwii tsurimasterds topspinps2am cb2ds civ4ch fairstrike menofwaras wh40kwap tpfolEUpcBam touchmast4dsi marvlegps3p specops xboxtunnel fearcb superv8usps3d s_GalacticBowli mmadnesswii ww2btanks whammermocdam itadakistds ut3pcdam f12002 CMwrldkitwii monopoly3 powprokundsiam birhhps3 bridgebaron14 crashnburnps2 na2rowpcam arc st_ladder machines dstallionds trackmania2ds mkdeceptionps2 blzrdriverds heistpcam civconps3am reichpcam magmay2 tetpartywii ecorisds musicmakerwii bf2ddostest paradisecity medieval section8x360d buccaneerpc bleach2USds yugiohwc08ds SF3RemixXboxam infectedpsp necrolcpcam chessworlds condemned2bsam sonic2010wiiam runedemo blitz08ps3d dominos finertiaps3 winel10jpnwii ufc10x360dev stef1exp svsr11x360am farcry poolshark2ps2 biahhRUSpcam bejeweled2wiiam titanquest bllrs2005ps2 americax atlantispre roguewarps3am saadtestam paintball mxravenpspam guinnesswriphd springwidgets parabellumpc molecontrolpc gta4ps3grm ben10bb avponlive officersgwupc kateifestds svsr11x360dev monracersds bderlandspc eforcesr wiinat narutoex4wii wosin civconps3d dsiege2bw twc2 empiresdam codbigredps2 wofps2 bokujyods leadfootd SampAppTest menofwarpcam riskingdomsd regimentpc kohanagdemo svsr11ps3dev tarlawdartwiiam momo2010wii blandsonliveam fear2ol biahhPCHpc wrcpcd codedarmspspam poriginpcjp conflictsops2 outlawsdem ras wz2100 mafia rafcivatwar firearmsevopcam srsyndps2 mfightbbunads sfc3 gamepopulatoram puyopuyods marveltcardps pbfqmv heroesmanads bfield1942d stlprinKORds wsc2007pc gmtestcdam planecrazy terminator3d tstgme colcourseds racedriver2 biahhPRps3am reichpc stalkercoppcam startopia bderlandruspcam redlinenet octoEUwii foxtrotps3am motogp2d chocmbeuds dragladeEUds themarkam bldragoneudsam dqmonjoker2ds racedriver2ps2 12ironds tqexp1am janesf15 flatout2ps2 mclub4ps3devam beateratorpspd rafcivatwaram whtacticspsp spacepodd civ5 nolf2 jeopardyps2 exitds bldragondds darkheaven hail2chimps3am bomberman2wiid goredemo rscovertops snooker2003 swrcommandod wormsasowii 50ctsndlvps3 svsr11ps3devam ccgenzh SF3PS3PSrv links2000 sbkxps3demoam cc3tibwarscd hail2chimps3 civ4colpcam mech4st mmtest poriginps3am necrolcpcd wrcpc warlordsb plandmajinds worms2 swbfespsp shikagariwii crashnitro claw fuelpcd whammer40000am civ4colpc krissxpcam ekorisu2ds dow_dc powprokundsi wordjongds riseofnations thps6pc hhbball2002 kurikurimixds sonic2010dsam goreAV armada2d damnationpcd redalert3pcd por2 xar etherlordsbeta swinedemo disciples2 hookedJPNwii ut3ps3d starfoxds praetoriansd mkvsdcxboxam fuelps3d scompany bspiritsds whammer40ktds dental2ds dshard rfgrlaonlive postpetds omfbattlecp wormspsp realwarrsd cmanager bsmidwayps2 mschargedwii beijing08ps3 redalert3pcmb smackdn2ps2 mh3uswii monfarm2ds menofwar:nam ascensionpcam cnpanzers2 bandbrosEUds fwarriorpc AliensCMPC superv8pc sbk09pcam scribnaut2dsam sneezieswiiw fushigidunds swordots nameneverds harmoon2kords ut2 painkillerod resevildrkwii RKMvalleyds knelynch2ddol onslaughtpcam beaterator wh40kp fairyfightpc pkodgerman stormrisepcam nhl2k11wii exigoram flatout swgbcc sbk09usps3 topanglerwii redalert3pcdam wotr redalert legendsmmbeta2 tankbeatusds paraworld pariahpcd tacore monopoly kumawar guitarh3xpwii ut3 disciples wsoppspam smackdnps2r bllrs2004pal foxtrotpcd tron20 dimensitypc rsurbanops hookedEUwii SF3RemixXbox poriginps3 civ4xp3 sandbags FlockPCam dhunterps2dis imaginejdds hookedfishwii chocotokids tongaribouids testdriveu wsoppc thps4pcram civ4btsjp scrabbleo worms4 ms2012wii rafcivatwartam spartaaw ikaropc sfc tongaribouidsam cod7dsam timeshiftd ppirates knightsohd rubikguidewii coteagles marvlegps2am genesisrbeta aarmy3 jefftest saturdayns guinnesswripham chhearts ninsake takingdoms agentps3 flatout2pc naruto5ds callofduty4d2d fairstriked wcsnkr2004ps2 assaultheroesam raymanRR3wii whamdowfr aow2d bldragondfdsam anno1503 ecocreatureds sbkxps3am avp austerlitz AssaultHeroesD2 fswps2 witcher fltsim2k ludicrouspcam demonstar dh5 menofwarnamam legendarypcd echelonww sporeds bf1942swmac cmr5ps2 worms4d luchalibreps3am yugiohwc11ds segatennisps3 dkracingds combatzonepcam aowdemo mmadnessexps3 ubraingamesds bldragoneuds civ4ru incomingforces kaiwanowads swbfrontps2 hastpaint2wii yugiohwc10ds reichps3am srsyndpc ironstrategy thetsuriwii ryantest racedriverds xmenlegpc kingbeetlesds xcomenforcer DaggerdalePS3am 3dpicrossds nwnmac bbarenaJPNps3am gtacwiphoneam mparty1ds mdungeonds tatvscapwii arma2pcd buccaneerpcam redalert3ps3am na2runpcam wsc2007 mfightbbultds mvsdk25ds mariokartwii luchalibreps3d arma2oapcd segaracingds eearth3d swrcommandot mswinterds assultwii Doragureidods rontpam kurikinds zsteel necrovisionpc locksquestds hoopworldwii sneeziesdswam rtrooperps2 exciteracewii onslaughtpcd mech4bwexpd comrade vanguardbeta punchoutwii hd2 anno1701d gore opflash cc3kw eearth2d thdhilljamds batmanaa2ps3am gmtestam whammer40kdc perimeterd dh2004d superv8ncps3 simsportsds mariokartkods mysimsflyEUds spartand unavailable ffccechods slavezero owar smrailroadsjpam rallychampx vietnamsod bbangminids stlprincessds ducatimotods trivialppcuk swempirexp1 sawps3 greconawf2g ssoldierrwii bomberman2wii luchalibrewiiam nexttetris wmarkofchaosd rockstardevam bldragonidsam furaishi3wii bcommander painkiller momotaro20ds dh2005d gored ee3 wic playgroundds wcpokerps2 disneydev motogp2007am connect4 dsiege2 fsw10hpc sfc3dv demonforgeps3 homm4 fuelpcam AliensCMPS3am dynamiczanwii mxun05ps2 th2003d laststorywii civ4wrldmacam mphearts dday Happinuds armygamemac tgstadiumwii krabbitpcmacam woford mohaas twc mafia2pcam kaosmpr hinterland menofwarpcbam civ3ptw hookagainwii bfield2xp1 stalkercoppcd ssmahjongwii skateitds sfc2opdv mxvatvuPALps2 laserarena ffwcbeta blindpointpc halflife AmMcGeeGrimm02 redfactionwii damnationpc wsopps2 DaggerdalePC plunderpcam warriorkings soldiersww2 strongholdce heroeswii cellfacttwpc mezasetm2wii bstrikeotspc ut3demo strongholdd Frogger mariokartdsam smackdnps2pal mclub4xbox conflictzone noahprods dundefndpc insane mlb2k9ds southpark harmoon2kordsam svsr11x360devam chaser strategistpsnd breedd ultimateMKds contactusds druidking cmr4pc stalinsub eearth3bam TerroristT2 bioshock pokerangerds crysis merchant2 bf2142b uno armymen2 fairyfightpcam igowii SF3RemixPS3 gsiphonefw empireearth eternalforces altitude botbattles afllive05ps2 luckystar2ds sbkxpc luminarc2EUds moritashogids srow2xb360 eearth3 shirends2ds ghostreconds celebdm fifasoc11ds virtuaten4wii airwingsds gruntz legendarypcam batmanaa2ps3 WSWelevenwii flatoutps2 mrwtour castles dundefndpcam warnbriads callofdutyps2d tpfolEUpcd gcracing fullmatcgds poolshark2pc nwnlinux lotrbme2wk eq fxtrainlvds ikaropcd warlordsdr civ4bts potco janesfa legofwrex360 hotpacificps2 strongholdl nba2k10wii terminator3 fairyfightps3am heroes3arm godzilla2ps2 excessive digichampUSds lbookofbigsds mleatingwii amairtac sfc2op feard coteaglesam paraworldam oltps2 stalkercsd bestfriendds menofwar:namam tarlawdartwii ejammingmac kohandemo hooploopwii rfts svsr10x360d bangler2003 virtuaten4wiiam krabbitpcmacd mkvsdcEUps3b gotcha |; +} +1; diff --git a/util/tools/r_secure.pl b/util/tools/r_secure.pl new file mode 100755 index 0000000..7e00096 --- /dev/null +++ b/util/tools/r_secure.pl @@ -0,0 +1,127 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +sub get_validate_string { + my ($cipher_string, $secure_string, $enctype) = @_; + + # use pre-built rotations for enctype + my @enc_chars = ( qw | + 001 186 250 178 081 000 084 128 117 022 142 142 002 008 054 165 + 045 005 013 022 082 007 180 034 140 233 009 214 185 038 000 004 + 006 005 000 019 024 196 030 091 029 118 116 252 080 081 006 022 + 000 081 040 000 004 010 041 120 081 000 001 017 082 022 006 074 + 032 132 001 162 030 022 071 022 050 081 154 196 003 042 115 225 + 045 079 024 075 147 076 015 057 010 000 004 192 018 012 154 094 + 002 179 024 184 007 012 205 033 005 192 169 065 067 004 060 082 + 117 236 152 128 029 008 002 029 088 132 001 078 059 106 083 122 + 085 086 087 030 127 236 184 173 000 112 031 130 216 252 151 139 + 240 131 254 014 118 003 190 057 041 119 048 224 043 255 183 158 + 001 004 248 001 014 232 083 255 148 012 178 069 158 010 199 006 + 024 001 100 176 003 152 001 235 002 176 001 180 018 073 007 031 + 095 094 093 160 079 091 160 090 089 088 207 082 084 208 184 052 + 002 252 014 066 041 184 218 000 186 177 240 018 253 035 174 182 + 069 169 187 006 184 136 020 036 169 000 020 203 036 018 174 204 + 087 086 238 253 008 048 217 253 139 062 010 132 070 250 119 184 + |), + + # convert to array of characters + my @cip = split "", $cipher_string; + my @sec = split "", $secure_string; + + # length of strings/arrays which should be 6 + my $sec_len = scalar @sec; + my $cip_len = scalar @cip; + + # from this point on, work with ordinal values + for (0..$sec_len-1) { $sec[$_] = ord $sec[$_]; } + for (0..$cip_len-1) { $cip[$_] = ord $cip[$_]; } + + # helper vars + my ($i,$j,$k,$l,$m,$n,$p); + + # too short or too long -- return empty string + return "" if ($sec_len <= 0 || $sec_len >= 32); + return "" if ($cip_len <= 0 || $cip_len >= 32); + + # temporary array with ascii characters + my @enc; + for(0..255) {$enc[$_] = $_;} + + $j = 0; + for(0..255) { + $j += $enc[$_] + $cip[$_ % $cip_len]; + $j = $j % 256; + $l = $enc[$j]; + $enc[$j] = $enc[$_]; + $enc[$_] = $l; + } + + # store temporary positions + my @tmp; + + $j = 0; + $k = 0; + for($i = 0; $sec[$i]; $i++) { + $j += $sec[$i] + 1; + $j = $j % 256; + $l = $enc[$j]; + $k += $l; + $k = $k % 256; + $m = $enc[$k]; + $enc[$k] = $l; + $enc[$j] = $m; + $tmp[$i] = $sec[$i] ^ $enc[($l + $m) & 0xff]; + } + + # part of the enctype 1-2 process + for($sec_len = $i; $sec_len % 3; $sec_len++) { + $tmp[$sec_len] = 0; + } + + if ($enctype == 1) { + for (0..$sec_len-1) { + $tmp[$_] = $enc_chars[$tmp[$_]]; + } + } + elsif ($enctype == 2) { + for (0..$sec_len-1) { + $tmp[$_] ^= $cip[$_ % $cip_len]; + } + } + + # parse the validate array + $p = 0; + my @val; + for($i = 0; $i < $sec_len; $i += 3) { + $l = $tmp[$i]; + $m = $tmp[$i + 1]; + $m = $m % 256; + $n = $tmp[$i + 2]; + $n = $n % 256; + $val[$p++] = charshift($l >> 2); + $val[$p++] = charshift((($l & 3 ) << 4) | ($m >> 4)); + $val[$p++] = charshift((($m & 15) << 2) | ($n >> 6)); + $val[$p++] = charshift($n & 63); + } + + # return to ascii characters + my $str = ""; + for (@val) { $str .= chr $_} + + return $str; +} + +sub charshift { + my $reg = shift; + return($reg + 65) if ($reg < 26); + return($reg + 71) if ($reg < 52); + return($reg - 4) if ($reg < 62); + return(43) if ($reg == 62); + return(47) if ($reg == 63); + + # if all else fails + return(0); +} +1; -- cgit v1.2.3