| | How to hack een MMO17 april, 2008 |
Gezien de recente hack op de blog, en ook gezien de recente nieuws van het gedecompileerde Eve Online client, het leek een goed moment om te gaan over enkele van de manieren waarop een virtuele wereld krijgt gehackt.
Het interessante is natuurlijk dat alle hacks Ik ga om te praten over zijn eigenlijk niet hacken in de virtuele wereld aan allen; ze in plaats aanval van de klant, wat is uw venster op de wereld, en ook je Waldo, uw middel van het uitoefenen van controle over wat er gebeurt in deze wereld. En dat is omdat ...
De cliënt is in handen van de vijand.
U hebt waarschijnlijk gehoord dat voorheen - ik was niet de eerste die dat zeggen, maar het krijgt misattributed constant naar me. Met name dat frasering kan zijn oorspronkelijk afkomstig van Kelton Flinn, maar ik ben er zeker van dat velen van ons kwamen met het zelfstandig.
Het eerste ding om te beseffen is dat de versleuteling van de data stream is niet van plan om te stoppen met iemand ernstig.
Hier is de schematische kijk op zaken.
- Je genereert gegevens.
- Je zet ze gewoon in een pakket.
- U versleuteling van het pakket.
- U stuurt het over de draad.
- Het wordt aan de computer van een gebruiker.
- De client leest de gecodeerde pakket.
- De client decodeert het pakje.
- De klant doet iets.
Echt waar, alles wat na "het aan de computer van een gebruiker" is in handen van de vijand. Dus dat betekent dat je het versleutelen van de pakketten, waarin de gebruiker een client een Decrypter genaamd, en denken dat de versleuteling helpt.
De hackers kunnen kiezen te doen is lees de binnenkomende pakketten uit het geheugen van de cliënt na decryptie, in plaats van sniffing de stream rechtstreeks. Maar echt, dit alles doet, is verhoging van de bar een beetje hacken op de vereiste vaardigheden.
En om het af, encryptie kan worden vertraagd als je praat in real-time een soort situaties. Je mag niet wilt besteden de tijd in het versleutelen indien u behoefte aan een snelle respons.
Packet sniffing stream: getting meer info dan u zou mogen
Dit was een probleem vroeg in Everquest en is nog steeds een probleem in veel FPSes. Kortom, u moet zich niet beroepen op de client voor het filteren van informatie. Veronderstel dat alles wat komt er op neer de draad zichtbaar is voor hen. We spreken van "ruimen" de gegevens die worden geopenbaard, dat in wezen het terugdringen van de set. Zelfs op de client, we doen het ruimen, zodat we niet stellen alles in de dataset van de klant kent. In een FPS, je doorgaans niet veel doen met een server-side afmaken - iedereen op de kaart is "zichtbaar" op de cliënt, omdat iedereen beweegt zich zo snel, dat kun je niet echt een bepaalde regel van het gezichtsvermogen ruiming op de server.
In EQ, de manier waarop dit manifesteerde was om de menigte in de zone die is verzonden naar de klant. Dit betekende een hack kan een Miniweergave die aantoonde dat elke mob. Je kon zien repops op afstand. Maar wacht, het wordt nog erger. U kunt ook alles zien wat ze vervoerd. Zo kun je bijvoorbeeld krenten uit de pap te plukken van de goede buit op voorhand.
Packet filtering: laten vallen spul moet je niet
Soms is de server vertelt je dingen die je gewoon niet willen horen. Een voorbeeld van zo'n ding zou kunnen worden "nee, u kunt niet gaan." Dit is de klassieke muur hack. Meestal wordt u verhuist, en doe een lokale client-side botsing check. U heeft ook een dergelijk verzoek uitgeleide doen naar de server voor uw verkeer, zodat de server kunnen nagaan of u kunt er heen gaan (na alles, je zou kunnen hebben - verschrikkingen - gehackt uw client niet botsing controles). De server stuurt weer een "nee, je bent nog meer dan hier"-bericht, met als gevolg dat rubberbanded terug naar waar je was.
Tenzij je gewoon negeren dat bericht en vrolijk blijven gaan. Hiermee kun je ontdekken van de statische dataset dat uw cliënt heeft geladen. U zult geen enkel nieuw gestreamd objecten op de juiste plaats, uiteraard, want wat de server betreft, dat deed je niet verplaatsen.
Gewoon laten vallen pakketten kunnen vrij krachtig als de ingenieurs waren slordig en vertrouwden op de client zelf te corrigeren nadat ze te horen dat het slecht was. Een veel voorkomende manier kunt u deze gebruiken om meer voordeel te halen zich beroept op het feit dat we vaak doen, maar laat de cliënt worden semi-autonome over beweging. U kunt bewegen op de client met veel meer granulariteit en met veel snelle veranderingen in de richting dan kunt u op de server. In plaats van het bijhouden van uw elke beweging die we in plaats deelmonster zij, in principe. Wij rekenen op eenvoudige statistieken zoals "je kunt niet bewegen zo ver dat snel" na te gaan of u al dan niet zijn in feite valsspelen in uw beweging.
Maar als je botste met iets gezegd werd: bounce terug, maar dan verplaatst naar een positie aan de andere kant van de muur, de volgende beweging zou kunnen vallen binnen acceptabele parameters, en dan u zou kunnen hebben verplaatst door de muur.
Pakje verandering: het veranderen van wat je hoort
Als alternatief zou je eigenlijk af aan het pakket voordat het wordt geïnterpreteerd. Dit principe kun je de client om te dansen op uw deuntje. Misschien wilt u een mooi groot waypoint op de top van uw zoektocht richten. Misschien dat u wilt veranderen wat zone van de klant vindt het laden, zodat je in om je te laten rondleiding op een plek die u normaal niet kunt.
Vertegenwoordiging van verandering: het veranderen van wat je ziet
Messing met de stroom data is niet het enige wat binnen uw macht. Veel mensen in FPSes heb dingen te veranderen van de zichtbaarheid van wat er om hen heen. Vervang alle muren met transparante texturen, en het zal u een veel beter idee van waar iedereen is. Vervang kleine mazen met de groten, of Camo-textures met fel gekleurde roze, en alles steeds eenvoudiger te herkennen.
Triggering
Natuurlijk, waarom geef je het werk? Net heb de client automatisch teruggestuurd reacties direct hoe laat een bepaald pakket of bericht. Deze vorm van geautomatiseerde triggers is natuurlijk een belangrijk element in de opbouw van bots. In een FPS, autoaim is daarvan een voorbeeld. De nauwkeurigheid van iets gebeurt met een trigger is veel veel hoger dan wat het is wanneer een enkele mens is op het wiel.
Spammen
Er is veel tijd, de servers zijn niet verhard goed tegen het ontvangen van meer commando's in een bepaalde spanne tijds dan ze verwachten. Laat de klant omgaan cooldown timers zou een voorbeeld zijn van een vergissing als deze, dus als u kunt de upstream heeft, kunt u de cooldowns.
![]()
De Warden en andere trucs
Natuurlijk zijn er tegenmaatregelen. De tegenmaatregel gebruikt door Blizzard (en door stoom, wat dat betreft) is het uitvoeren van een apart proces dat controleert of de belangrijkste app wordt hebt. Dit is een gangbare praktijk in Korea als goed, en er is FPS-servers vereisen dat u het uitvoeren van Punkbuster, enz. Van de WoW TOS:
# Tijdens het draaien, kan het programma toezicht te houden op uw computer Random Access Memory (RAM) en / of cpu processen voor ongeautoriseerde derden programma's die gelijktijdig met world of warcraft. Een "niet-geautoriseerde programma van derden", zoals gebruikt in deze overeenkomst mag worden gedefinieerd als elke software van derden, waaronder, zonder enige beperking "addon" of "mod", dat in de sneeuwstorm, de enige bepaling: (i) of vergemakkelijkt bedriegen van elk type; (ii) stelt gebruikers in staat te wijzigen of de hack world of warcraft interface, milieu, en / of ervaring op enigerlei wijze anders dan expliciet toegestaan door sneeuwstorm, of (iii) onderschept, "de mijnen", of anders verzamelt informatie uit of via het programma. In het geval dat het programma detecteert een onbevoegde derde programma, sneeuwstorm kan (een) communiceren informatie terug naar sneeuwstorm, inclusief en zonder beperking de naam van uw account, details over de onbevoegde derde programma ontdekt, en de tijd en datum waarop het ongeautoriseerde programma van derden Werd ontdekt, en / of (b) het uitoefenen van een of alle van haar rechten uit hoofde van artikel 6 van deze overeenkomst, met of zonder voorafgaande kennisgeving aan de gebruiker.
Hoe denkt hij dit doen? Nou, eigenlijk, door gebruik te maken van veel van de technieken zoals hierboven beschreven. Kortom, het soort hacks je. Het controleert om te zien of stuff wordt uitgevoerd in WoW het geheugen van de ruimte. Hij controleert of de titelbalken van een venster open en je vergelijkt de tekst van dat venster titel (hashed) tegen een zwarte lijst van programma's valsspelen titlebars (ook hashed). En het werkelijk aantal controles van de code van elk programma dat u hebt uitgevoerd en gecontroleerd om te zien of die code is op haar zwarte lijst ook.
Onnodig te zeggen dat de Warden is ook in de handen van de vijand;, maar ik zou niet de minste aanwijzing over hoe dat te doen, je zou theoretisch ofwel de hack Warden zelf, of hack de apps dat de Warden is met het controleren, zodat dat ze vals of andere informatie. Op dat moment, het is een wapenwedloop.
Er is nu al programma's om te kijken naar de Warden watching you, bijvoorbeeld. En de reactie van Blizzard was het maken van een heleboel verschillende versies van Warden, dus het is moeilijker te vinden en bekijken, en ook - surprise, versleuteling van het spul teruggestuurd. Natuurlijk, je kunt gaan terug naar af, packet snuiven, en filteren op de Warden verslagen ... la di da. Of om de cheat app polymorfe zelf. Of ...
Het is allemaal erg Orwelliaanse - maar spelers lijken een waarde aan een omgeving met minder spel cheats meer dan ze hechten aan hun privacy, ook al geef ik toe, ontzettend uit over een app lezing venster titlebars en daarna eigenlijk niet te vertellen over iemand, tenzij het een match mei lijkt een beetje paranoïde. En nogmaals, wat gebeurt er als iemand gehackt een populaire WoW fansite of gids site en stak een string verboden in de titelbalk? Kan gebeuren ...
![]()
In het eind, je kunt er niet op vertrouwen dat de cliënt. Alles Warden beschermt tegen fundamenteel moet worden bewaakt tegen op de server. In het web wereld, hoef je alleen maar aan te nemen dat de browser kan het gaan om elke verdomde ding op alle - maar ik kon schrijven een eenvoudige web browser in ongeveer vijf minuten. En in de toekomst zullen we wellicht nog voor het ontwerpen van onze spellen met dit soort vermogens in het achterhoofd.
Neem het voorbeeld van de kleine kruid te oogsten. De hacks beschreven zou doen dingen als auto-detect dat het kruid is rond, auto-halen, pak deze uit een drukke omgeving. Het "spel" ligt in dat het moeilijk te vinden of te zien. In het veiligheidsdomein wereld, dit heet "veiligheid door middel van de vergetelheid te geraken", en het is algemeen aangenomen dat het een verspilling van tijd. (Dit werpt ook de vraag waarom we aan de opbouw van games uit zoiets als kruid-finding.) De veiligste manier is voor de client zelfs niet te weten. Zijn echte kruiden en nep kruiden gebruik precies hetzelfde client-side vertegenwoordiging in elk opzicht. Alleen de server weet het verschil.
We hoeven over het algemeen niet doen dit omdat, nou, we willen dat er statische gegevens en dynamische gegevens die we stream. We willen in staat zijn om precachen het grootste deel van de wereld, en alleen stroom vaststelling van de dingen die kunnen veranderen, zoals kruiden kunt u ophaalt. Het is goedkoper in bandbreedte, door heel veel, maar biedt betere prestaties; raak je veel sneller laden.
Met andere woorden, we maken van deze kwetsbaarheden voor onszelf, want ook wij willen Vertrouw de klant.
Op het einde van de meest hack-free virtuele wereld zal zich waarschijnlijk het met een volledig open source klanten, volledig openbaar en open protocollen, en geen pogingen om vals te spelen door met de cliënt eventuele zware werk doen. In feite is WoW zelf heeft genomen zeer grote stappen richting deze met hun open UI-systeem, waarmee officieel worden erkend, plug-ins die veel doen van de dingen die vroeger gedaan door hacks. De reden dat dit zal waarschijnlijk veiliger is gewoon omdat, toen de terminal is dom, je bent gedwongen om het slim op de server - en de server is een stuk gemakkelijker te maken te beveiligen.
De uitdagingen zijn echter niet gering als je echt wilt gaan halverwege ophouden en maken alles weer aangedreven door de server. Alles zou moeten worden gestreamd. Alles wat naar de server verstuurd zouden moeten worden gecontroleerd. En game ontwerpers zouden hebben om te veronderstellen zij zich niet kon beroepen op alles op alles wat zich in de visuals als een monteur gameplay, noch over alles wat samenhangt met de snelheid van cognitieve processen (bv. tijd besteed ", ervan uitgaande dat iets" zou geen goede monteur, aangezien veel dingen kunnen worden offloaded aan de klant, die onmiddellijk reageerde keer). Het zou allemaal voor een veel asynchrone wereld.
Maar dat ontwerp beperking kan ook streven naar het ontwerpen slimmer gameplay, in plaats van dat de gameplay volledig kan worden ongedaan gemaakt door hen te laten weten waar spul is, picking belangrijke spullen uit de onzin, en ga Clicky-Clicky over iets dat snel genoeg.
Een pipe-droom? Waarschijnlijk. Wij houdt van ons onze kruidkaas-jacht, onze grote afbeeldingen, onze lagless client-side beweging, en we lijken erg bereid zijn om met zijn bespied in ruil voor de wetenschap dat alleen bad-ass hackers zijn vals spelen, in plaats van damn de buurt van iedereen. ![]()

U kunt eventuele reacties op dit item via de RSS 2.0 feed. De reacties zijn momenteel gesloten, maar u kunt trackback vanaf je eigen site. [?]Typ een relevante tag, en klik op de knop, en helpen bij het organiseren van deze blog informatie.
[Meer hulp]
























naar de bibliotheek en ervaren de Dewey Decimal System. Hij keek op al zijn bronnen online en heb een hoop knip-en-plakken voor zijn examen. Om een of andere reden was dat voor zijn leraren .... Ik denk dat het eerste wat ik zou moeten doen om hack loop graHow een MMOGiven de recente hack op de blog, en ook gezien de recente nieuws van het gedecompileerde Eve Online client, het leek een goed moment om te gaan over enkele van de manieren die een virtuele wereld krijgt gehackt. Het interessante is natuurlijk dat alle hacks
[...] Raph Koster geeft je een korte tutorial over het hacken MMOs. [...]
del.icio.us / Emory april 18Raph's Website »How to hack een MMOThere is nu al programma's om te kijken naar de Warden watching you, bijvoorbeeld. En de reactie van Blizzard was het maken van een heleboel verschillende versies van Warden, dus het is moeilijker te vinden en bekijken, en ook - surprise, versleuteling van het spul teruggestuurd. Van
[...] Cheating wellicht van minder belang zijn voor sociale software dan aan games (al zijn er uitzonderingen, neem Digg bijvoorbeeld). Voor diegenen die geïnteresseerd zijn in meer hierover, Raph Koster heeft onlangs een uitgebreid onderzoek van hacking en bedrog in MMOGs. [...]
[...] Blogbericht door game-ontwerper Raph Koster (van Ultima Online en nu Metaplace faam) zal u vertellen hoe! [...]
Nieuwsberichten Heeft u altijd al had willen lopen dwars door muren in MMO? Hoe zit het telepatisch gevoel van de locaties van al het goede druppels in een zone, of maak onzichtbare dingen heel erg zichtbaar? Ablog postby game designer Raph Koster (van Ultima Online en nu Metaplace faam) zal u vertellen hoe! Toegegeven, Koster niet echt ingaan op veel detail. Ook hij probeert te helpen voorkomen dat ontwikkelaars hacking problemen, die niet binnen geheime tips voor hackers. Het is
[...] Client heeft iets. Do v? ?? CAC b? N co th? Tham kh? o thong tin chi ti? t: http://www.raphkoster.com/2008/04/17 ... o-hack-een-MMO / [...]
[...] Framerates, en dat het niet zal leiden tot anti-vreemdgaan tools zoals Punkbuster of World of Warcraft's Warden.The product bevindt zich momenteel in beta test fase. U kunt zich aanmelden voor de bèta-of update [...]
[...] Enige discussie eerder afvragen waarom in hemelsnaam zou ik al het verzoek van de gebruiker parameters in de URL.http: / / www.raphkoster.com/2008/04/17/ho ... ck-an-mmo/If u bent ingelogd op het spel, kun je in principe naar elke zone alleen door het manipuleren van de URL. Als [...]
[...] Hoe hack een MMO 17 april, 2008 (Bezocht 5387 keer) Tags: vreemdgaan, Everquest, hacking, wetten van de online wereld ontwerp, design vw, vw tech, WoW [...]
[...] Spawn locatie, ...) in de klant. als Raph Koster is dol op herinneren PPL, de game client "is in handen van de vijand": elke keer dat er een dev offloads een operatie op de cliënt, teneinde te besparen op de CPU cycli voor AI [...]