Jak se bránit? Odpověď na tuto otázku je jednoduchá...
1. Jak se bránit...Jak se bránit? Odpověď na tuto otázku je jednoduchá - Nijak... SWF je Otevřený formát (Open format) a je nemožné jej ochránit tak aby nebyla žádná možnost informace v něm obsažené zjistit. Pokusíme se však potenciálnímu útoč- níkovi práci ztížit jak jen je to možné...
2. Protect from Import...
Již od první verze Flash nabízí možnost "password-protected from import". Jedná se o funkci která zabrání Importu swf do Flashe... Flash odmítne importovat swf soubor obsahující řetězec s heslem. Je však nesmírně jednoduché Protekci odstranit a funkce tak není ničim jiným než falešnou představou o bezpečí swf souboru a tak o tomto způsobu protekce můžeme klidně zapomenout...
3. ActionScript Viewer a void (a)<=b>"c" || 0(!1 && !0)...
Decompilery dokážou extractovat z SWF symboly, grafiku a zvuky a extrahují taky ActionScript... Při pokusu o převod p-code (způsob jakým je script zapsaný v SWF souboru) do běžného ActioScriptu je tak můžem jednoduše zmást neexistujícím kódem... Například nejznámější kód po kterým zaručeně spadne ASV 2.0 (ASV - nejznámější SWF Decompiler všech dob) je " ; ". Stále se však vyvíjí nové verze a v ASV 3.0 již žádný problém nevznikal...
4. Co Player vidí a já ne...
Další možností ochrany je takzvaná obfuskace... Jde o záměnu příkazů ActioScript nesrozumitelnými kódy. Většinou zaměňuje jen názvy funkcí a proměnných ale i to dělá kód naprosto nesrozumitelným. Toto je příklad výsledného kódu...
function -3(-4){trace(-4);} function -1(0,-2){ if(0<-2){-3(1);} }
Pokuste se to pochopit! V internetu je k nalezení několik kvalitních obfuscátorů které dokážou jen s malým zvětšením veli- kosti souboru (v průměru jeden Kb na každý 2 Mb) velmi zabezpečit váš kód... Další možností jak zněpříjemnit život decom- pilerům je psaní kódů nesrozumitelnými znaky. Kupříkladu pokuď napíšem názvy funkcí a proměnných čínskými znaky, de- compiler vám zobrazí něco podobného tomuto:
function ?(){?,?){?.?=?;}
Tento kód již dokáže přečíst ASV 4.0 ale i tak dokáže způsobit nemalé problémy případnému zájemci o váš kód...
5. Ochrana online aplikací...
Předtavte si že jste vytvořili nějakou online hru a za pár týdnů ji uvidíte na většině jiných stránek v internetu... Jak tomu zabrábit? Možností je hodně...
a. Kontrola domény...
Stačí napsat script který nám bude kontrolovat adresu ze které se spouští naše aplikace. Pokuď je adresa správná - například http://www.myServer.net/myGame.swf bude pokračovat přehrávání V opačném případě se stránka vypne nebo zobrazí výstražnou zprávu. Když se přehrává offline, mněla by adresa vypadat asi takto: file://C| someSub/game.swf. Tím zaručíte že váš movie nebude možné přehrávat na cizím serveru ani offline stažená z vašeho webu... Tato ochrana je však naprosto bezmocná proti decompilerům.
> Script
// vezmem vše co se nachází mezi "://" a další "/" c1 = _url.indexOf("://")+3; c2 = _url.indexOf("/", c1); domain = _url.substring(c1,c2);
// odstraní všechny symboly před první "." c3 = domain.lastIndexOf(".")-1; c4 = domain.lastIndexOf(".",c3)+1; domain = domain.substring(c4,domain.length);
// přecházíme na pořadovanou stránku if (domain != "myserver.com") { gotoAndPlay("stolen"); } else { gotoAndPlay("start"); }
b. Dynamické načítání obsahu...
Další skvělou metodou jak odradit většinu ripperů a crackerů je dynamické načítání obsahu a to jak scriptů a textů (XML, AS, ASP, PHP, TXT) tak i grafického (SWF, JPG, PNG...). Více o dznamickém načítání obsahu se dá vyčíst z příručky ke Flashi a příslušné literatuře...
c. All Rights Reserved...
Radou na závěr je pak psaní copyrightů všude možne a to jak v ActionScriptu tak i třeba v názvech layerů... Pokuď pak najdete váš obsah na cozí doméně - máte přímý důkaz o vašem vlastnictví programu. Nesmíte však nikdy mazat svoje source - je to nejdůležitější důkaz...
6. Macromedia SWC...
Od verze MX 2004 Macromedia zavedla nový formát .swc který umožňuje větší protekci obsahu Flash aplikací... Jak tento formát využít a ochránit tak vaše data se doyvíte v oficiální příručce k Macromedia Flash MX2004 a na stránkách macromedia...
> Links
http://www.macromedia.com/cfusion/search/index.cfm?loc=en_us&term=SWC
7. Přípony...
Jednou ye skvělých možností je taky změna přípony swf souboru z swf na třeba saf - tím odradíte většinu lamerů a swf downloaderz nedokážou sfw stáhnout... V kombinaco s HTML protekcí (HTML Guard, Secure HTML) je to velmi dobrá ochrana, nesmíte však zapomenout změnit v html souboru cestu k novému movie (z myMovie.swf třeba na myMovie.saf)...
8. Už se stalo...
Pokuď vám například váši hru již někdo ukradl první krok který byjste měli podniknout je napsat mu e-mailem - stále je tu ještě hodně lidí kteří v žádném případě nechtějí nikomu ublížit a po napomenutí vaši hru ze stránky odstraní... Pokuď vám autor stránek neodpoví nebo není na stránce žádný kontakt zkuste napsat jeho internet providerovi... Pokuď nemá ripper vlastní doménu (www.provider.ripper.com nebo www.provider.com/ripper/) stačí zadat první část adresy (www.wz.cz, www.provider.com) a najít tam adresu - pokuď má ripper vlastní doménu můžete jít na stránku www.nic.cz nebo www.networksoltions.com kde můžete využít služby WhoIs která vám poskytne bližší informace o autorovi a jeho adresu... I když ripper nebude chtít váš movie odstranit, jeho provider (nikdo nechce mít problémy se zákonem) to rád udělá za něj...
Philip "pips" Seyfi, seifip@centrum.cz
FavoritSoft, http://www.fs-studio.com/
Autor: Philip