Avatar billede swiffer Nybegynder
28. oktober 2002 - 14:17 Der er 11 kommentarer og
2 løsninger

Sikker overførsel

Jeg har lavet et spil med highscore-funktion, men problemet er at man med en decompiler jo kan gå ind og se koden, og derved hvilken url man skal taste ind for at snyde.

Hvordan laver jeg en sikker overførsel fra flash (mx) til ASP ? Uden at man kan snyde sig til en highscore.

PåForhåndTak :)
Avatar billede mat Nybegynder
28. oktober 2002 - 14:29 #1
du kan evt. prøve at beskytte din .swf mod decompiling med dette program:

http://www.genable.com/aso/

hvorvidt det er en løsning på dit problem, ved jeg ikke, men du kan jo kigge på det :)
Avatar billede barklund Nybegynder
28. oktober 2002 - 14:29 #2
Flash MX Gaming Demystified - den eneste bog jeg kender til den har en næsten 100% sikker fremgangsmåde... Skal det netop være helt sikkert så man ikke kan sniffe sig til det selvom man er MEGET energisk så er den i denne bog beskrevne metode den sikreste...

Det handler om at ved starten sender backenden en key, som flash deprypterer via en loaded, obfuscated swf, der holder denne key og sender den med tilbage på hvert eneste kald...

Link: http://vig.prenhall.com/catalog/academic/product/1,4096,0201770210,00.html

/Barklund
Avatar billede barklund Nybegynder
28. oktober 2002 - 14:31 #3
Du vil altid kunne se hvilken url flashfilmen kalder... Du kan bare have en sniffer til at holde øje med, hvad din computer sender ud af http-requests - du behøver ikke en gang kigge i koden!

Derfor skal du sende noget unikt med, som genereres af noget obfuscated i flash og som modtageren forventer efter samme algoritme..
Avatar billede baitianlong Nybegynder
28. oktober 2002 - 14:34 #4
Du kan da evt. lave et regnestykke på pointsne, inden de sendes til asp siden, og efter de er modtaget... Ved ikke om det dækker dit problem ?

points2 = points / 750 * 3.75;

points = request.QueryString("points2") / 3.75 * 750

Sær idé, men det kan da være det virker (o;
Avatar billede swiffer Nybegynder
28. oktober 2002 - 14:37 #5
Der må da være en online artikel, som omhandler barklunds forslag? Jeg vil helst undgå at betale 380 kroner for en bog :O)
Avatar billede barklund Nybegynder
28. oktober 2002 - 14:45 #6
Ideen er rimelig enkel, men svær at implementere i praksis... Prøv at søge på flashCoders archive for at finde andre folks metoder...

http://chattyfig.figleaf.com/search.php (fx "secure highscore" eller lignende søgeord)

Det handler om at din asp sender en key til flash, når flash'en åbnes. Din flash loader en engine.swf (der er obfuscated med alle tænkelige midler) ind i et lag og beder den behandle denne key. Derefter spytter den en ny key tilbage, som flsah sender med sit næste request. Herefter før hvert kald skal flash'en tilføje en ny genereret key til alle sine kald. Disse bliver i engine.swf genereret via en eller anden kompliceret hash-funktion, som kun engine.swf og din backend kender. Og den din engine.swf er obfuscated og backendens kode ikke kan ses, kan brugere altså ikke genskabe denne rækkefølge af events.

Og legende's forslag er lidt bedre end blot at sende sin score... Her er det nemlig ikke nok med en sniffer (med mindre man prøver en masse gange og opdager den lineære sammenhæng mellem "points" og "points2"...) Men en decompiler/disassembler vil stadig afsløre det hele...

En god løsning i mange spil er at lade backenden beregne scoren - det kan dog ikke gøres i skydespil eller tilsvarende, men i quizer og lignende kan man blot sende sit svarnummer i stedet for en "answer=true" og så er det backenden der beregner om man får point...
Avatar billede barklund Nybegynder
01. november 2002 - 12:14 #7
Har ud yderligere spørgsmål så stil dem endelig, men jeg kan desværre ikke give dig en tutorial på en fungerende løsning, så du må selv bygge strukturen op...
Avatar billede swiffer Nybegynder
03. december 2002 - 21:58 #8
(en måned senere:) obfuscate: formørke; forvirre; gøre uforståelig.

Er der nogle der har nogle forslag til hvordan dette kan gøres? Jeg har lavet nogle forsøg, men man kan vel bare decomplie (den barklund kalder) engine.swf? Eller er der noget jeg har misforstået?
Avatar billede barklund Nybegynder
04. december 2002 - 10:33 #9
Øverste link... En obfuscator som ligger nogle ting, der gør at kendte decompilere ikke kan decompile filen... Men flash kan stadig afvikle den...

Lav din .swf, kør den igennem obfuscator - færdig :o)

Selv kan jeg også nogle tricks og små stykker kode, der fucker decompilere op, men dem vil jeg ikke afsløre, for jeg har det bedst med, at forfatterne af programmerne ikke får at vide, hvilken kode de ikke kan klare... Da jeg bruger det professionelt i spil, der skal forblive hemmelige... :o)

Lægger lige et svar... Få eventuelt mat og legende til det samme... :o)

/Barklund
Avatar billede swiffer Nybegynder
05. december 2002 - 17:11 #10
Nååårh.. nu tror jeg jeg har fattet den, efter at have læst mat's link igennem! Gider Mat ikke lige smide et svar??
Avatar billede mat Nybegynder
05. december 2002 - 20:26 #11
joda, selvom min indsats var ret ringe :)
Avatar billede swiffer Nybegynder
05. december 2002 - 22:28 #12
Arhh... linket var da guld værd!
Avatar billede barklund Nybegynder
09. december 2002 - 21:49 #13
tark for point :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