我想包括我的應用某種類型的拷貝保護方案,這將使我的軟件復歸的零售註冊版回到我的軟件試用版本,如果/當另一臺計算機上被安裝。如何將應用程序的註冊版本複製到另一臺計算機時轉換回試用版本?
在過去,我只是將所有的用戶信息存儲在一個記錄中,並記錄在exe文件的末尾。在註冊過程中,我會簡單地將這些值戳到exe文件末尾的數據記錄中。這很好,直到諾頓開始將我的產品標記爲病毒,因爲exe文件已更改。
很久以前我就停止這樣做了。我正在準備創建我的軟件的更新版本,我想知道你是如何完成這個工作的。
我想包括我的應用某種類型的拷貝保護方案,這將使我的軟件復歸的零售註冊版回到我的軟件試用版本,如果/當另一臺計算機上被安裝。如何將應用程序的註冊版本複製到另一臺計算機時轉換回試用版本?
在過去,我只是將所有的用戶信息存儲在一個記錄中,並記錄在exe文件的末尾。在註冊過程中,我會簡單地將這些值戳到exe文件末尾的數據記錄中。這很好,直到諾頓開始將我的產品標記爲病毒,因爲exe文件已更改。
很久以前我就停止這樣做了。我正在準備創建我的軟件的更新版本,我想知道你是如何完成這個工作的。
使其成爲零售版本的信息應存儲在目標計算機上,而不是原始程序。這樣,當他們嘗試移動該程序時,它將恢復到試用版,因爲新計算機上缺少零售信息。
零售信息通過註冊過程添加,使用唯一密鑰。有許多方法可以使這項關鍵工作只進行一次。一種方法是通過互聯網直接將其傳輸到程序,用戶永遠不會看到它,因此他們不能手動將其傳輸到新計算機。
也許你可以使用相同的東西。
除了保存exe中的數據(調用AV的假陽性)散列並將數據保存在單獨的文件中。
您是否認爲將信息存儲在dll的末尾會引起誤報?在我將數據插入尾部記錄後,如果我還將dll更新爲原始日期,該怎麼辦? –
您應該將信息保存在多個位置以最大限度地減少精明的用戶可以找到它的機會(使用例如Process Monitor)。我建議
還可以節省其綁定到本地計算機的一些信息,所以即使如果普通用戶找到您的文件和註冊表項複製不會成功,因爲他們不知道如何在獲得更新數據一臺新的PC。這些信息也可以是您根據用戶必須向您發送的某個硬件ID生成的密鑰。
關於密鑰生成算法:如果保護與一般用戶「抵觸」,那麼只需製作一些東西即可。這一點取決於你的目標羣體。一個簡單的像ROT47可能就足夠了。
除了使用互聯網之外,還有哪些其他的密鑰驗證方法?或者你在哪裏建議我去進一步研究? –
使關鍵時間敏感(根據計算機上的時鐘,它僅適用於24小時)。您可以將其發送給您的客戶。 –