Luar's Flash Playground:保護SWF / Flash應用的難題
保護SWF / Flash應用的難題 (30-03-2005)
最近完成一個Flash應用,由於客戶打算利用這東西去收費賺錢,非常害怕其他人在Cache中找到所需要的SWF和XML等核心和設定文件,在其他地方使用,問我有沒有好的保護方法。這回倒難到我,因為我雖然知道不少保護方法,但是這些方法都是難不到「有心人」:
  • Domain檢查,如果在本地或其他Domain使用,無法操作。可惜客戶將來打算部署在很多不同Domain,沒法寫死Domain在SWF裡,因為我沒有將Flash應用的Source交付他們。
  • 讓SWF不留在Cache裡
  • 通過NetConnection向FlashCom認證,因為NetConnection才可以提供Referrer SWF路徑(一般Post-Get提交,Flash沒有Referrer)。FlashCom利用Flash Remoting,檢查Database認可SWF路徑。當然,我要另外做一個小型Web應用,讓客戶更新Database認可SWF路徑。
  • 還有什麼...?
很多做法,只要「有心人」得到SWF,Decompile後轉為FLA,再將檢查部分刪去;或者更簡單,用Hex Editor修改一些檢查路徑,就可以破解,唉……

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • Gary Rosenzweig在自由的blog上提出了相同的問題。他表示,在保安方面,dcr格式較之swf為安全,你也是他越來越少用flash的原因。

    參考網址:http://developerdispatch.com/index.php?p=83

    由故事人於30-03-2005發表

  • 没办法的,不关管你用什么样的方法,只要我们能得到swf文件的话,用什么保护都是没办法的,所以啊,你就放大点肚量吧,真的没办法的。要不你就去找他的总公司,呵呵。

    由dasong於31-03-2005發表

  • 我想到一個複雜的方法, 不知管不管用:

    在flash寫一個parser, 透過xmlsocket傳來的資料, 在flash dynamic地重組 class 及functions 及 variables. :p

    由泡影於04-04-2005發表

  • 动态重组是个值得尝试的好方法,至少可以将核心代码用“动态重组”的方式来保护,可就是parser写起来麻烦了点:(

    由KINGKE於06-04-2005發表

  • 請問Luar,您是否聽說利用遊戲修改大師(Game Master)直接修改Flash在記憶體的變數。小弟blog上有人談到這方法。

    philipz於08-04-2005發表

  • 這當然有可能,但沒有必要這麼花功夫吧,用簡單技巧將受害SWF載入一個打開Flash Debug的SWF,想怎樣改都可以,我MAX2004大概提過,不過這些事,知道就好,我都不會詳細說,免得有心人去破壞別人的東西。

    luar於08-04-2005發表

同組文章