2010-02-18 80 views
2

我的客戶有一個Flash投影機EXE,他想要建立一個在線序列號控制系統,以便他可以在線銷售它。保護Flash EXE

此項目中的關鍵問題,據我看到,該exe文件需要運行在只有一臺電腦。

我目前的計劃是如下:

  • 請求從用戶在安裝前的序列號,並檢查它是否是好的。
  • 如果沒問題,可以從許多獨特的硬件常量中生成一個散列。將其與服務器匹配,然後查看應用程序是否安裝在此機器上。
  • 如果不是,或者它與以前的機器相同,則允許安裝程序繼續。
  • 安裝後,將硬件哈希值放入註冊表中。
  • 創建加載器EXE,將Flash EXE作爲資源放入其中。
  • 在加載器EXE中,檢查註冊表是否有硬件散列,它是我們運行的正確硬件。
  • 如果硬件哈希正確,請將他的資源(Flash Exe)提取到一個隱藏路徑並使用CreateProcess執行。

現在,我意識到這個工作流程存在嚴重的安全漏洞。當我提取資源exe並執行它。任何查看任務管理器的用戶都可以看到它。所以他/她可以伸手去抓住它!

我該如何改進我的方法?至少到了可以接受的地步?

謝謝。

P.S.該應用程序具有類似的功能:保護和序列號方面的http://www.increditools.com/flash_exe_builder/index.php

+2

爲什麼你不使用你鏈接的產品? – ceejayoz 2010-02-18 23:16:57

+0

因爲我還需要一個硬件控制,我沒有調查那個軟件。 – frbry 2010-02-18 23:32:06

+0

你不行。如果它不值得購買,人們不會。如果是的話,人們會。如果DRM使其無法使用,那麼人們將無法如願。 – 2010-02-19 04:56:51

回答

2

我怎樣才能提高我的做法?至少到了可以接受的地步?

取決於你的意思是「可以接受的」是什麼。這個問題是無法解決的 - 有些商業公司的存在僅僅是爲了向數百萬美元的軟件提供DRM保護,而且「保護」在幾天內就會例行破壞。

要不屑於在很大程度上取決於你分配什麼保護的確切數量 - 而無需的一個想法,它真的無法給出很好的建議,因爲你想做的事情。

您提出的系統可能就足夠了。哎呀,您信任您的客戶的榮譽系統可能足以滿足您的客戶的需求。

+0

我的方法存在的問題是,一旦用戶輸入了他的有效序列並安裝了該軟件,他/她可以非常輕鬆地複製Flash exe文件並將其發送給其他人(我不會遇到任何問題!:))。我想讓它更難以獲得Flash EXE。我知道這永遠不可能,但至少不希望它變得那麼容易。這對我來說是「可以接受的」。 – frbry 2010-02-18 23:25:44

+0

你想問自己的問題是*爲什麼*。如果您將用戶綁定到特定的硬件配置(並要求他們在升級計算機時重新安裝),他們更可能會盜用您的應用程序而不是購買它。如果您只讓用戶將其安裝在數量有限的計算機上,則他們更可能會盜版而不是購買。如果你需要安裝者「打電話回家」,你的用戶更可能會盜版而不是購買。您建議的DRM *不會阻止確定的盜版*,但*會給您的客戶帶來不便,並使他們更有可能盜用您的應用。* – 2010-02-18 23:29:58

+0

再一次,我不承認原始文章中描述的方法。我只是想解決問題。但至少現在我的解決方案並沒有刪除防拷貝系統。 – frbry 2010-02-18 23:40:12

1

如果他的應用並不普及(並不會),打電話回家是矯枉過正。

如果他的應用受歡迎(或會),就放棄了。即使行業等級(無論這意味着什麼)軟件安全保護本質上是有缺陷的,包括有爭議的索尼的SecuROM和Valve的DRM終止所有DRM的CEG已經被打破。

+0

我與你分享同樣的想法。但客戶是一個客戶,他在抱怨人們如何通過互聯網共享他的程序!我不知道這是否屬實。 – frbry 2010-02-18 23:27:23

+0

只需添加連續劇,將EXE提取到臨時目錄(鎖定)或直接存儲到內存中,如果您有'技能'並完成它。其他任何事情都只是額外的噪音。 – moatPylon 2010-02-18 23:38:03

+0

+1解除暗示:) – frbry 2010-02-18 23:46:14

0

你不能阻止每個人破解你的安全,但在這種情況下,停止90%(或大約)的用戶這樣做是你可以要求的。只是難以使用非法拷貝將完成任務。

看看Adobe和存在多少破解的Photoshop和Flash CS3許可證密鑰。重點在於,做一些事情對於阻止普通用戶是值得的 - 但是就保護措施而言,這是一件好事。如果有人想竊取軟件並願意花時間和精力去做,他們將能夠得到它 - 無論它有多好。