מאמר זה הינו מאמר טכני, הקורא אינו חייב להיות מתכנת פלאש - ידע בסיסי בשפת ActionScript 3 יספיק, בשפה זו משתמשים כדי
לתכנת משחקי פלאש.
אפליקציות פלאש מופיעות באתרים בתוך קבצי swf, כל גולש מקבל למחשבו את כל תוכן האתר בו הוא גולש כמו גם את קבצי ה-
swf.
ע"י שימוש ב-decompilers (תוכנות שבאמצעותן ניתן להגיע לנתונים שנמצאים בתוך קבצי swf) הגולש יכול להעתיק חלקים מהאפליקציה או לשנות בה את הגרפיקה ולשים אותה באתרו.
תוכנה decompiler היא תוכנה שיודעת לקרוא את מבנה הנתונים של קובץ פלאש ולשלוף מתוכו את הקוד שהמתכנת כתב, קיימות בשוק תוכנות שיודעות להצפין את קבצי הפלאש כדי למנוע מתוכנות אלו לפעול בצורה תקינה, אך למרות כך אין הגנה חסינה לחלוטין.
בהמשך מפורטות מספר טכניקות שמטרתן להקשות על ניסיונות העתקה. את כל הטכניקות הבאות ניתן לעקוף והן לא יספקו הגנה של 100%, אבל הן כן יגרמו לכך שאחוז גבוה מניסיונות ההעתקה ייכשל. ככל שמשקיעים יותר זמן בהגנת התוכנה כך קטנה קבוצת המשתמשים שיכולה לפרוץ
את התוכנה לכן חשוב להשקיע באבטחת מידע החל מיום הפיתוח הראשון ולא להתמודד עם הבעיות כשהן מתרחשות כי אז יכול להיות מצב שהתוכנה תצטרך להיכתב מחדש.
דוגמאות
משחק הוקי-אויר 1 – http://www.miniclip.com/games/electro-air-hockey/en
משחק הוקי-אויר 2 – http://www.zolo.co.il/games/zhockey
טכניקות למניעת העתקה
1. הצפנת קובץ ה-swf ע"י שימוש בתוכנות קיימות
2. הוספת קוד בתוך אפליקציית הפלאש שמטרתו לבדוק את נתיב קובץ ה-swf, אם הנתיב הוא לא באתר המקורי, ברור שיש ניסיון להפעיל את קובץ ה-swf שלא מתוך
האתר.
נתיב קובץ ה-swf נמצא בתוך המשתנה: stage.loaderInfo.url
3. קבלת המדיה (למשל גרפיקה, תמונות וצלילים) מהשרת ע"י שימוש במחלקה Loader ובשרת ביצוע בדיקה של שדה כתובת העמוד ממנו נשלחה הבקשה,
האם כתובת זו זהה לנתיב העמוד שבו צריך להיות קובץ ה-swf.
קישורים למידע נוסף
תיעוד המחלקה LoaderInfo בה נמצא המאפיין url:
http://www.adobe.com/livedocs/flash/9.0/
ActionScriptLangRefV3/flash/display/LoaderInfo.html
תיעוד המחלקה Loader, באמצעותה ניתן לטעון את המדיה בה האפליקציה משתמשת:
http://www.adobe.com/livedocs/flash/9.0/Acti
onScriptLangRefV3/flash/display/Loader.html
הסבר על השדה בו מופיע נתיב העמוד המכיל את קובץ ה-swf בעת שליחת בקשות לשרת:
http://en.wikipedia.org/wiki/HTTP_referrer