2011-07-11 30 views
0

我有一個帶有串行代碼驗證的軟件。 起初我想過要製作一個配置文件並在其中存儲序列等。這對我來說效果並不好,所以我將它改爲在Windows註冊表中保存名稱,序列和過期時間。哪裏是存儲序列碼等的好地方?

它運作良好,到目前爲止,但恐怕用戶可能會發現它,只是從註冊表中刪除的條目;這樣做會消除到期並允許他們再次使用試用版。

什麼是存儲用戶名,序列號和過期日期的其他好地方?

感謝

+0

你會通過搜索看到很多很好的問題[標籤:試用] – CharlesB

+1

沒有100%萬無一失的方法。已經有公司將這些信息存儲在他們自己的EXE中,並且這仍然經常被黑客竊取。你不應該期望這會很成功。隨着你前進,請記住這一點。 – Brad

回答

4

我會救你的麻煩,告訴你,無論你存儲或在用戶的計算機上,有經驗的用戶能夠扭轉改變 - 而且,是的,這將允許用戶再次訪問您的試用軟件。最糟糕的情況是,他們可以在安裝試用版之前使用虛擬機並拍攝虛擬機快照。

我會更進一步,並提到大量的用戶將非常惱人的程序,顯示類似rootkit的行爲(任何索尼粉絲在這裏?),並試圖隱藏在每個角落和角落的操作系統。將您的軟件手機置於您的服務器上或在您的服務器上存儲個人信息(例如,OS系列)至少至少錯誤的形式 - 如果您在不通知用戶的情況下執行此操作,則它也可能是非法的。

底線:不要試圖找到營銷問題的技術解決方案。讓你的完整版本足夠吸引用戶購買。相信你的用戶是合理的,而不是認爲他們是無可置疑的潛在小偷。而且,對於插入喜愛-神的緣故,做搞砸了自己的電腦...

如果你提供一個非常昂貴的軟件,你可能要考慮的硬件按鍵 - 只要你不知何故確保他們將在10年內繼續工作,即使你的業務不再支持。我爲其中之一,討厭反盜版措施,懲罰軟件的合法用戶。

0

理論上,無法阻止用戶強行擴展免費試用版。事實上,用戶可能會混淆系統時鐘,甚至使用具有快照功能的虛擬機。

簡短的回答您的問題歸納爲「通過隱藏的安全」。您必須在創意場所編寫看起來無辜或看起來很古怪的文件或註冊表項,並且您必須保密這些位置。您還應該打亂要存儲的信息(例如名稱,序列號),以便用戶無法執行全文搜索以查找其存儲位置。

如果你想成爲額外的創意,你能以某種墊一些系統文件(也許像NOTEPAD.EXE)和存儲你的祕密有效載荷那裏。

此外,您可以通過Internet將軟件電話置於家中;你可以檢查時鐘攻擊;您可以嘗試將數據存儲在磁盤分區的可用空間中。

+0

我會毫不留情地推薦改變系統文件,因爲這種行爲類似於病毒,並且很容易說服用戶避免購買你的軟件(然後告訴他們的朋友說它實際上是一種病毒),從而破壞了試用版的觀點。 – qid

+0

修改系統文件和可執行文件(如notepad.exe)通常會失敗(如果用戶不是管理員),如果您使用的文件被更新(例如,通過系統更新),將會被清除,並且令人難以置信* *一般的反社會行爲。不要這樣做。 – duskwuff

+0

我應該添加一個免責聲明,說我只回答他/她如何保存隱藏的數據,而不是這是否是一個好的/道德的想法。 – Nayuki

1

我建議你將它存儲在一些特定的加密文件中,或者自行修改某些資源或應用程序文件本身。

對於良好的保護,該應用產品(可執行)正與它們在運行時在存儲器中提取的特定算法等UPX其變體例如使用壓縮。

大公司開發自己的保護,但實際上,當一個反向工程(S)開始他/他們的工作是正常的(預期)由給定的相反的方法來壓倒任何辯護。

的一點是儘量隱藏自己的算法,有效的序列匹配爲串行的加密,文件或註冊表等

例如,你可能在你的文件序列,它被散列針對文件創建日期時間。 但是,當有人反編譯可執行文件時,當他看到整個圖片時,根據您的場景再現一個keygen並不是什麼大問題。 :)

正如thkala說,你必須專注於贏得客戶,因爲很可能你有沒有這樣的資源爲一體的大型企業投資的安全性。

0

另一種有效的方法來寫我經常看到使用已要求用戶在線註冊並獲得一個臨時註冊碼該軟件的試用版軟件。試圖在沒有某種外部因素的情況下實施一個試用期,總的來說,其可靠性要差得多。

+0

它仍然不會阻止確定的海盜,除非您可以將每個帳戶綁定到他們的財務或其他真實生活信息。否則,用戶可以簡單地使用不同的免費郵箱賬戶重新激活試用版。 – thkala

+0

充分確定海盜實際上是不可能停下來的。然而,要求他們至少經常回到您的網站,這仍然是一個進步 - 尤其是因爲這意味着您每次回來時都會有新的機會嘗試在您的產品上出售它們。 – duskwuff

相關問題