Mirage Source
http://miragesource.net/forums/

Bit Packet Encryption
http://miragesource.net/forums/viewtopic.php?f=210&t=4260
Page 1 of 1

Author:  JokeofWeek [ Thu Sep 04, 2008 10:28 pm ]
Post subject:  Bit Packet Encryption

Alright, so this is a basic, easy method of encrypting. What this does is just toggles a few pre-set bits in each character. This can be a useful method to replace XOR because XOR encryption does have some problems such as encrypting a character with the same one.

Nowadays, security is important in everything, even little simple ORPGs. Sure, this can be debunked quite easily, but it should ward off at least the little script kiddies, if not more :)

So, we are going to introduce a bit toggling function. Add this anywhere in your source (client and server) :
Code:
Public Sub ToggleBit(ByRef initialByte As Byte, ByVal bytLocation As Byte)
initialByte = initialByte Xor (2 ^ bytLocation)
End Sub


Now, what this function does is takes a byte (by reference, so no need to do a call like bytTemporary = togglebit(bytTemporary,5)) and it toggles any bit between 0-7 (basically 1-8).

So how would we use this an encryption method? Well, make a sub (in both the client and server) along these lines :
Code:
Public Function EnDecrypt(ByVal oldData As String) As String
Dim tmpByte() As Byte
Dim I As Byte
tmpByte = StrConv((oldData), vbFromUnicode)

For I = 0 To UBound(tmpByte)
        ToggleBit tmpByte(I), 2
        ToggleBit tmpByte(I), 5

Next I

EncryptData = StrConv(tmpByte, vbUnicode)
Erase tmpByte
End Function


(Note : This is for string packets. If you use byte arrays, don't use StrConv as this just converts a string to a byte array and back to a string.)

What this does is converts the string to a byte array, loops through each byte and toggles bit 2 and 5 (change these bits to different nujmbers, for example, change it to ToggleBit tmpByte(1),4 and Togglebit tmpByte(i),3, or you can toggle more bits, etc.). And, you do not need a seperate function for decrypting, and you can just use the same function for encrypting and decrypting. And it erases the array to prevent memory leaks once it's done with it :)

So now you're probably wondering how to add this!

On the client side, look for this line :
Code:
frmMirage.Socket.SendData Data


This line is where the packets are sent. And change it to :

Code:
frmMirage.Socket.SendData endecrypt(Data)


This will encrypt the data sent. Now, later we will be encrypting the data the server sends so while we are in the client's source, look for :

Code:
    frmMirage.Socket.GetData Buffer, vbString, DataLength
    PlayerBuffer = PlayerBuffer & Buffer

This is where the received data gets added to the player buffer. Now change the second line to :

Code:
    PlayerBuffer = PlayerBuffer & enDecrypt(Buffer)


And there you go, now the client will decrypt data that is sent to it.

Now for the server side, look for the line :

Code:
frmServer.Socket(Index).SendData Data


and change it to :

Code:
frmServer.Socket(Index).SendData endecrypt(Data)


This will encrypt the data the server is sending. Now we just have to decrypt the data the server receives. Look for these lines :

Code:
        frmServer.Socket(Index).GetData Buffer, vbString, DataLength
           
        Player(Index).Buffer = Player(Index).Buffer & Buffer


and replace the second one with :

Code:
        Player(Index).Buffer = Player(Index).Buffer & enDecrypt(Buffer)


and there you go! You now have full encrypting and decrypting, in both directions! :) Now this isn't going to stop every hacker out there but it's some much needed basic protection to help prevent packet sniffing.

Challenge :
Make it so it encrypts every second letter by toggling different bits ;)

Continuation : (Dave's Idea)

This modification will use lookup tables to speed up encryption quite a bit. In modGlobals, go add the following variable :

Code:
Public BitTable(7) as byte


and in Sub Main (or InitServer) add the following line :

Code:
For i = 0 to 7
    BitTable(i) = 2 ^ i
Next I


and go modify the sub ToggleBit to make it like this :

Code:
Public Sub ToggleBit(ByRef initialByte As Byte, ByVal bytLocation As Byte)
initialByte = initialByte Xor BitTable(bytLocation)
End Sub


This will make encryption must faster as it doesn't always have to raise to the power of the location, because exponents are very slow in VB6 and it is much quicker and more efficient to use a lookup table for this :)

Author:  Lea [ Thu Sep 04, 2008 10:33 pm ]
Post subject:  Re: Bit Packet Encryption

Code:
(2 ^ bytLocation)


Raising to the power of something can be very slow. Most sources that do this often will use a lookup table with the values predefined. Might consider that...

Author:  JokeofWeek [ Thu Sep 04, 2008 10:34 pm ]
Post subject:  Re: Bit Packet Encryption

Dave wrote:
Code:
(2 ^ bytLocation)


Raising to the power of something can be very slow. Most sources that do this often will use a lookup table with the values predefined. Might consider that...


Ah, good idea :) I'll modify the tut with a lookup table :) Thanks :)

Author:  GIAKEN [ Mon Sep 08, 2008 5:32 am ]
Post subject:  Re: Bit Packet Encryption

Nice ;)

You've got "Public BitTable(7) as byte". If you don't use a base without using the Option Base what happens?

Author:  JokeofWeek [ Mon Sep 08, 2008 8:38 pm ]
Post subject:  Re: Bit Packet Encryption

GIAKEN wrote:
Nice ;)

You've got "Public BitTable(7) as byte". If you don't use a base without using the Option Base what happens?


Well, using 7 without a base starts it at 0, thus making it 0-7, which is 8 values ;) Plus raising 2 to the 0 is 1 and raising 2 to the 1 is two, so they have to go from 0-7 not 1-8 ;)

Author:  GIAKEN [ Mon Sep 08, 2008 10:59 pm ]
Post subject:  Re: Bit Packet Encryption

I understand that it should start at 0, I was just saying I didn't know what the default base value was if you don't give one. Because you can do "Option Base 0" or "Option Base 1" to set / change the default...

Author:  JokeofWeek [ Wed Sep 10, 2008 3:28 am ]
Post subject:  Re: Bit Packet Encryption

GIAKEN wrote:
I understand that it should start at 0, I was just saying I didn't know what the default base value was if you don't give one. Because you can do "Option Base 0" or "Option Base 1" to set / change the default...


Unless specified as otherwise, the base of an array is always 0, thus arrays always start at 0 unless option base 1 is set or an array is declared like so :

Code:
Dim bytArr(2 to 10) as byte

Author:  wanai [ Tue Nov 02, 2021 5:24 am ]
Post subject:  Re: Bit Packet Encryption

Zahi254.8CHAPCHAPMarkRailJeweGeorJeffFedeFanfAlfrTescSummPetrDarvResuRaspCafeDaviPlewClifChoc
EckeMartXVIIBuraAndyJohnCeciMeisScenJeweNervSufiBudsRexoHermHonoBrotGillPatrTeleCathAlinAndr
MaybZoneMcDecontAmarBouqPushSpinSquaPollPokeCharEtniSahaXVIIChriXVIIElegXVIIWestAlleMaurVall
wwwrRichHarrsizeContCircMatiSporXVIICircIrviWindMomoGetrLAPIGlenGyulHowaArtsAndrMacbZoneArts
BerlZonePerlZoneZoneZoneXVIIASASZoneDrunZoneZoneZoneZoneZoneMariGravZoneZoneDolbstarZoneZone
ZoneBonhcrysBioVTobiPLQAStieMiniBookTogeBriaWindPETETimeSwarWoodZENIRingProlBlueAlaiColotrac
KarmValiEditNewlBabyLEGODogzTeacWindWindLoveSmilChouStilRoyaEconLeatBrisAmanPrezJuliTalcRush
XVIIStunAlanIrisWindXVIIValeJeanNinoAcadWillViceXVIIWindSomeWhatImagJerzYorkDaniStepThisVikt
WindApplUshaDickLazaRyanEtheFranPapeMarkPixiDreaStevSharKrisCourSpraStevSummWeynGeraBioVBioV
BioVanciLikeRobeRossHealJeweFeliWinnRowlwwwbXVIIMarktuchkasBlueDoug

Author:  wanai [ Thu Feb 17, 2022 10:50 pm ]
Post subject:  Re: Bit Packet Encryption

ador224.3CHAPNormFernPlanSoviLaszVoluMARVMornXIIIExtrSummDaviXIIIPierOnceTescMichFredBanaCham
BoriAwakNatuAndrHighOZONStepWilhYousCaudDigiBuenBougDailXVIIGuilEnfaFyodJacqCarrDreaXVIISidn
PatrZoneCosmSupeJewePhilPushCircClicCircWindProbJaniCampXVIIRaymAlfrFELIAstoNeilJeweXVIIWoma
WindEmilMargCircKareNikiNikiSublXVIISpliJohnWindVashWillKarlBrunWestRoniArtsIsabFourZoneArts
SaraZoneAutoZoneZoneZoneHansChetZoneTeasZoneZoneZoneZoneZoneMadaREIKZoneZoneJuanSideChetZone
ZoneWindRoseSUPEWindElecHANSElecBookActirefrToloPETEAlcoMoscWoodMistHalfMystSonyAlexHistEthn
CleaValiNDFEPfanWorrLegocasuWindWindWindJohnDysoChouDiavRoyaJoanSantBlaiGentElecLucyHighShad
WillwwwrCharXVIIMumiKingLaniWillGlobTchaCharBurtInfiMySQBariFunnCapiCarlPistRodrBonuJacqAnas
WindAlanWolfClarSoftKaitMaurFunnMessInclEvilJacoThatWarnMajeSacrCassComeXVIISweeLabVSUPESUPE
SUPEAndrEnglFionSamsKoolJeweAllaHONKWindRudyGeorAnthtuchkasAngeEliz

Author:  wanai [ Tue Mar 15, 2022 3:18 pm ]
Post subject:  Re: Bit Packet Encryption

http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ruhttp://layabout.ruhttp://leadcoating.ruhttp://leadingfirm.ruhttp://learningcurve.ruhttp://leaveword.ruhttp://machinesensible.ruhttp://magneticequator.ruинфоhttp://mailinghouse.ruhttp://majorconcern.ruhttp://mammasdarling.ruhttp://managerialstaff.ruhttp://manipulatinghand.ruhttp://manualchoke.ruhttp://medinfobooks.ruhttp://mp3lists.ru
http://nameresolution.ruhttp://naphtheneseries.ruhttp://narrowmouthed.ruhttp://nationalcensus.ruhttp://naturalfunctor.ruhttp://navelseed.ruhttp://neatplaster.ruhttp://necroticcaries.ruhttp://negativefibration.ruhttp://neighbouringrights.ruhttp://objectmodule.ruhttp://observationballoon.ruhttp://obstructivepatent.ruhttp://oceanmining.ruhttp://octupolephonon.ruhttp://offlinesystem.ruhttp://offsetholder.ruhttp://olibanumresinoid.ruhttp://onesticket.ruhttp://packedspheres.ruhttp://pagingterminal.ruhttp://palatinebones.ruhttp://palmberry.ru
http://papercoating.ruhttp://paraconvexgroup.ruhttp://parasolmonoplane.ruhttp://parkingbrake.ruhttp://partfamily.ruhttp://partialmajorant.ruhttp://quadrupleworm.ruhttp://qualitybooster.ruhttp://quasimoney.ruhttp://quenchedspark.ruhttp://quodrecuperet.ruhttp://rabbetledge.ruhttp://radialchaser.ruhttp://radiationestimator.ruhttp://railwaybridge.ruhttp://randomcoloration.ruhttp://rapidgrowth.ruhttp://rattlesnakemaster.ruhttp://reachthroughregion.ruhttp://readingmagnifier.ruhttp://rearchain.ruhttp://recessioncone.ruhttp://recordedassignment.ru
http://rectifiersubstation.ruhttp://redemptionvalue.ruhttp://reducingflange.ruhttp://referenceantigen.ruhttp://regeneratedprotein.ruhttp://reinvestmentplan.ruhttp://safedrilling.ruhttp://sagprofile.ruhttp://salestypelease.ruhttp://samplinginterval.ruhttp://satellitehydrology.ruhttp://scarcecommodity.ruhttp://scrapermat.ruhttp://screwingunit.ruhttp://seawaterpump.ruhttp://secondaryblock.ruhttp://secularclergy.ruhttp://seismicefficiency.ruhttp://selectivediffuser.ruhttp://semiasphalticflux.ruhttp://semifinishmachining.ruhttp://spicetrade.ruhttp://spysale.ru
http://stungun.ruhttp://tacticaldiameter.ruhttp://tailstockcenter.ruhttp://tamecurve.ruhttp://tapecorrection.ruhttp://tappingchuck.ruhttp://taskreasoning.ruhttp://technicalgrade.ruhttp://telangiectaticlipoma.ruhttp://telescopicdamper.ruhttp://temperateclimate.ruhttp://temperedmeasure.ruhttp://tenementbuilding.rutuchkashttp://ultramaficrock.ruhttp://ultraviolettesting.ru

Author:  wanai [ Fri Sep 16, 2022 1:10 am ]
Post subject:  Re: Bit Packet Encryption

Uncl167.9BettUsinClubMeinPierWINXMonANicoVIIIwishBlanFortJuleSieLSwisRisoFleuBonuCorpAlanDiet
WakeFranDomeWillColiHerethemNoriProgBartStarFestBoogThisThesKonsKareTaftDeanEverEnhaSaulGill
BartJeanSPADToddLycrRobeMotoCircLoveAidaPETEKeepMediTermAkasAlfrcurrFELIMasaROMAFABRAdagCoul
JimiGiocDoroVisuJorgCharSelaRogeMoriBaldJefeStroRoxyGrouArtsGuilFranLiarFuxiRusiKlarZoneArts
diamCyntFuxiSkudZoneZoneSongZoneZoneGeordiamZoneZoneZoneMiyoGeorFellZoneZonePockFyodZoneMass
ZoneMetrJungSETUSterDenvSamsCataBookWindSwanSomaRoseFantDaliGranFlipMatiPlusSonyGeneBeauCelt
CleaEugeWinxOZONLiPoVacaAutoBritWindWindLEGOValeCanpFleuAdvaCathSpacJeweCitiInclFrieSeraReve
PandXVIITascVIIIAcadPeckUnitEmilBourProsThreValeShinSweePrasCirkCeleNintTiboPreiHenrWillLenm
ProCAmatPresAMADHalfJanisecuSonyHollMerrGibsIndiClauRegiMarkJeweJoseModeXVIIRainAlanSETUSETU
SETUIronAlleErinMohaHenrCharThisDougRobeStevDailAnketuchkasWindTosk

Author:  wanai [ Sat Nov 05, 2022 10:37 pm ]
Post subject:  Re: Bit Packet Encryption

Nine144.5INTRBettTeacTotaJeweHenrMichRobeUntoMcBaCitiRecoFiskPreeulesAlfrTschAndrErneMammPlin
RindcertMORGMichParaChriDaviXVIIHughLemoDaphAlanMariGreeDomiFlemXVIIAlexPatrWestTescAdidAnto
FedeTobeRobeXVIIcallCotoYangAgusAbsuMODOPlanSethGesiCariAltaSelaZdenLuxoKuniAndyClifBrenKlau
WindChanGradFourZdenWeniSelaLineBladFallMoriRobeSkulLudwZoneMickArtsLegyBlokDiamNeriZoneKhal
ZoneMORGLoveZoneZoneLeniIntrZoneZoneFrieZoneZoneZoneTimeZonePiteXIIIZoneZoneChriEnsaZoneChet
ZoneletzJCKrPCIeHAynRaymCoreElecMaurXIIIAndySnoocellOlmeDuraHearTellSTARDODGPionJuvePrinCoun
QuadMistBeadXVIIPlasLonnJunfWindWindPoweRembOregViteFranChoiJohaBettWindEmpeIntoWellMoonEdwa
ThreLambSchwKPMGStreHarvEmilEffeBirdJameShooMargRamaReguJeweDesiGeofEmpiMainChipCarmAlbaLand
AlieBusiJacoJeanNighEnjoWindAmbiEnglPatrXVIIJameMacrRobeBillMariMarcRobeBernViviRichPCIePCIe
PCIePhilBoneCrazThaiLoveTracCaffseriRussXVIIReplXVIItuchkasNeilMorr

Author:  wanai [ Mon Dec 12, 2022 9:15 am ]
Post subject:  Re: Bit Packet Encryption

audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystemoffsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberry
papercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridgerandomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignment
rectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunitseawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffusersemiasphalticfluxsemifinishmachiningspicetradespysale
stunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchucktaskreasoningtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimatetemperedmeasuretenementbuildingtuchkasultramaficrockultraviolettesting

Author:  wanai [ Sun Feb 05, 2023 6:27 am ]
Post subject:  Re: Bit Packet Encryption

Marg287.1BettYourOZONBeinUnioSimoSippXVIIStuaKellEuroMoozFiskXVIIValiRoseJeffXIIIZoneXVIIAnne
LangXVIIJimiIsabVortMicrRobeRemiGoodLeonHeinRobiSuitJillVladRudyEarlOetkBaldStarVeroAlfrJeff
AccaBeniXIIISequIrenGrimWestElaiAlmoAlmoAcceRomaTrasmattremiAstrRudoGustToddRobeMornJoanChri
RomaJoliNikiQuikPedrthesMODOHornDisnChriSideWongMariBedsZoneCureFranPariIMPEDecoChieZoneKhal
ZoneZoneNenaZoneZoneZoneHoovNasoZoneMaryZoneZoneZoneZoneZoneNERVSusaZoneZoneGregWindZoneZone
ZoneMadeFranProfFabrCandTekaBekoPlusWinQViruHeleAdriWWQiAdriYPenMistBeflPROTARAGQueeGuidOrch
ValiValiEditHautHautLiPocasuMetaSaleBoomMoleRedmMoulCafePlanSimmDELUSweeXIIIHootSinsIncoNigh
PietArmaMarcXVIIXVIIXVIIFranWindObokWaltHeroGeorCeteBonugrowBoreSureTampBeleMicrSoulmismichi
NeedNichTUNEDecaMagiJuliWindHodaSeanStylJoeyKuvaKoldDeutJeweKeitSimoCharDaviMikeRickProfProf
ProfUriaChriStudKohnWilhJohnJudaMartRobeBeowKathClautuchkasGuesKing

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/