Avatar billede sako Nybegynder
03. januar 2003 - 14:35 Der er 12 kommentarer og
1 løsning

Undgå snyd

Jeg har lavet et spil hvor man skal køre på tid. Når spillet er færdigt bliver tiden overført til en php-side som herefter indsætter navn m.m. og tid i en database.

Men hvis man kender en lille smule til flash/php er det forholdsvis nemt at manipulere med den angivende tid.

Er der nogen der har forslag til hvordan man sikre at brugerne ikke kan snyde - eller vil man altid på en eller anden måde kunne snyde ?
Avatar billede Slettet bruger
03. januar 2003 - 15:02 #1
Hvad med en simpel kryptering? Bare sådan så der hvor dataene bliver sendt over nettet, der er det ikke de reelle tal der sendes... Noget med at lave et system som skifter alle 1-taller ud med Y'er og 2 taller med G'er osv...
Avatar billede sako Nybegynder
03. januar 2003 - 15:06 #2
Det havde jeg også gjort først - indtil jeg tilfældigt faldt over et program der kunne dekryptere swf filer og dermed se action-scriptet.

Jeg var ikke klar over der fandes sådanne programmer - hvilket fik det hele til at falde til gulvet igen :-)
Avatar billede _michael_ Nybegynder
03. januar 2003 - 15:49 #3
Der er ikke så mange løsninger. Snyd vil der altid være. Men hvor reelt problemet med snyd er, tror jeg ikke er særlig stort. Jeg har ikke opdaget det endnu. Men ja, det er forholdsvist nemt at fuske.

Som forsvar mod snyd kan du starte med at besværliggøre din kodning for potentielle snydere. En af dem er at lave dit spil i mange flash-filer, der så bliver loadet sammen til dit spil. Lav en swf-fil med dit highscore-stuff, der hentes ind i hovedfilmen, så er det allerede lidt mere besværligt at se, hvor koden til highscoren er.

Du kan også vælge metoden med at man skal være bruger-oprettet før man kan spille dit spil. På den måde kan du ihvertfald sikre dig, at du ved, hvem det er, der forårsager snyd på dit site.

/michael
Avatar billede sako Nybegynder
03. januar 2003 - 16:03 #4
Tak for svarene - det er efterhånden også min konklusion at hvis man vil snyde kan det altid lade sig gøre...
Avatar billede _michael_ Nybegynder
03. januar 2003 - 16:41 #5
Tak for point... :o)
Avatar billede _k Nybegynder
03. januar 2003 - 19:07 #6
Vil lige indskyde at problemet også kunne løses med asymetrisk kryptering. Har aldrig prøvet at arbejde med det i flash, men tror nu nok at det kan lade sig gøre uden at performance bliver trykket helt i bund. Spørgsmålet er nok også om det ikke er overkill at implementere en sådan sikkerhed i spil - medmindre naturligvis at der er større premier på spil?
Avatar billede sako Nybegynder
04. januar 2003 - 00:56 #7
Det er pga præmier af en vis størrelse jeg er stødt på problemet. Men vi kan vel blive enige om at man skal have lidt forstand på sagerne for at kunne gøre det  - men desværre er det muligt - så længe man kan "knække" swf  -filen.
Avatar billede barklund Nybegynder
04. januar 2003 - 15:44 #8
Jeg har en del erfaring med spil i flash (senest www.sundhedsduellen.dk og www.tifgame.com) og på ingen af disse har vi på trods af de store præmier fundet nogle eksempler på snyd... Og det drejer sig om samlet over 400.000 gennemførte spil...

I begge er der dog heller ikke det store beregningsarbejde udført af flashfilmen - det meste sker i PHP'en, der indsamler data og beregner resultatet... Selvom man kan snyde, så er det heldigvis de færreste der gider bruge indsatsen...

På mit arbejde sidder vi for tiden og prøver at lave en engine til at modvirke alle former for snyd... Ideen er at når flashfilmen første gang bliver åbner, så modtager den en key fra serveren... Når den så skal svare, så behandler den denne key til en ny, som den svarer med tilbage, og får så en ny key, til næste gang. Flashfilmen og serveren skal de behandle/omforme denne key på samme måde. På serveren kan brugere ikke se algoritmen, men i flashfilmen kan man selvfølgelig bare decompile via fx ASV og se koden. Dog findes der en del midler til at "obfuscate" (forstyrre/skrive uforståelig kode) en swf, så den ikke kan decompiles via nogle af de kendte programmer til dette... Denne algoritme lægger man så i en ekstern swf, som bliver obfuscated... Der findes obfuscatere derude, men da de er kendte, så plejer Burak (ham med ASV) at omgå tricks'ne ret hurtigt... Dog kan jeg personligt nogle små stumper kode, som jeg har eksperimenteret med, som gør en swf ulæselig for ASV og lignende, men dem vil jeg ikke afsløre her :o)

Men som i selv nævner, så skal indsatsen afpasses med det, der er på spil... I vores seneste produktion (www2.mcdonalds.dk - nyd endelig den seje isometriske opbygning :o) er der ingen sikkerhed, da der ingen præmier er - kun en highscore - og målgruppen er børn fra 5-12 år...

/Barklund
Avatar billede _michael_ Nybegynder
04. januar 2003 - 15:53 #9
Ja, så længe man kan knække swf-filen kan man snyde. Men så igen...
Man er jo også lidt hjernedød, hvis man snyder med highscoren i et spil med præmier involveret. For snyderiet vil jo nok blive opdaget - og jeg har meget svært ved at tro på, at folk, der har hjerne nok til at knække en swf-fil og forstå at læse den, kan finde på at fuske med en highscore-listen bare for at komme på en highscore.

Tjek den her side:
http://www.bokelberg.de/actionscript/protection.html
Avatar billede _michael_ Nybegynder
04. januar 2003 - 16:09 #10
Barklund-> McDonalds er rigtig flot! Ser godt ud med isometriske opbygning. Jeg er lidt nysgerrig og (hvis det er en af de hemmeligheder, du godt må fortælle, men bliver nødt til at dræbe mig bagefter, så behøver du ikke at dræbe mig) kunne godt tænke mig at vide cirka hvor mange I er om sådan et produkt og tid herpå.

Bare fortæl det, du vil ud med... :o)
Avatar billede barklund Nybegynder
04. januar 2003 - 20:01 #11
Tiden på mcdonalds er vist alt i alt 2 måneder... Og der har været en hoved-udvikler, der lavede nogle spil, en ekstra udvikler til de øvrige spil, jeg lavede de to områder, man kan gå rundt i samt interaktionen med PHP-backenden og en sidste fyr lavede så hele PHP-backenden (som du ikke kan se, men som er kæmpe stor og omfattende med statistikker, dynamisk tekst-ændring og meget andet...)
Avatar billede _michael_ Nybegynder
05. januar 2003 - 19:37 #12
Barklund-> Tak for svaret. Ja, det er sgu en rigtig god isometrisk opbygning, I har bikset sammen.
Specielt Ronalds bevægelsesretninger fortjener ros. Ret flot med bevægelsesretningerne sydøst, sydvest osv... og måden, hvorpå figuren går uden om forhindringer. Respekt! :o)
Avatar billede barklund Nybegynder
06. januar 2003 - 09:52 #13
Jeg har kun skrevet engine til at behandle det her med konstant swap for at dybden bevares... Ronald er lavet med motion capture rent faktisk :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester