常用的軟件保護技術

作者:張順
日期:2010年12月26日
原創文章,轉載請註明來自 [
http://www.justcodeit.info/ ]


軟件保護是爲了保護軟件不被破解,不被盜版,充分保護開發者的利益。下邊我儘量以淺顯易懂的語言一一介紹目前流行的軟件保護技術,並分析各自的特點。

1.   註冊碼技術

這是一般共享軟件所常用的保護技術,當用戶從網絡上下載某個共享軟件後,一般都有使用時間或功能上的限制,如果想使用正式版,你必須進行註冊。註冊過程一般是用戶掏過錢且把自己的信息(例如用戶名等)告訴給軟件公司,軟件公司會根據用戶信息計算出一個註冊碼(或授權文件),在用戶得到這個註冊碼後,按照註冊需要的步驟在軟件中輸入註冊信息和註冊碼,其註冊信息的合法性由軟件驗證通過後,軟件就會取消掉本身的各種限制。在互聯網上的軟件80%都是以這種方式來保護的,國內http://www.sharebank.com.cn/就是提供共享軟件註冊服務的一個平臺。
      優點:實現起來簡單,成本較低,用戶購買非常方便
      缺點:
            1. 不能有效防止一號多用的情況 (除了根據機器ID計算註冊碼的情況)
            2. 安全係數一般, 因爲理論上驗證程序一旦被cracker解密,則可以很容易地做出註冊機,或是直接修改彙編指令跳過驗證程序。

2.   序列號技術

     這是很多光盤發行的軟件所採用的保護技術,在發行光盤上會提供一個正版序列號,在安裝過程中用戶輸入正確的序列號後纔可安裝成功。常見的MS-Office就是使用這種保護方式的。
      優點:實現起來簡單,成本較低,銷售模式簡單
      缺點:
             1. 在安裝時很難檢測一號多用,想想到處盜版的Office就知道了。
             2. 採用這種方式的安裝程序一般自身會攜帶一個密鑰庫,理論上是可以被破解的。

3.   加密狗

      加密狗是一種複雜的軟硬件技術結合在一起的加密工具。軟件在插入加密狗的機器上才能運行,例如我在使用建行網銀交易時必須插入建行U盾,這個U盾實際上就是一個加密狗。真正有商業價值得軟件一般都用加密狗來保護。
      優點:很安全,破解難度相當高
      缺點:
             1. 開發成本和硬件成本相當高,最普通的加密狗也要上百元
             2. 使用不方便,想使用時還必須插入一個加密狗

4.   聯機驗證
      這種技術是爲了彌補序列號或註冊碼技術的不足而誕生的,例如爲了防止一號多用,可在註冊時或運行時不定時通過服務器端驗證是否合法授權,是否存在一號多用的嫌疑。現在的授權管理的行業標準解決方案多數是基於此,例如RosettaStone、ProE、AutoCAD都是使用Flexnet Publisher的解決方案。
      優點: 較註冊碼和序列號方式安全,可靈活定製授權模式(浮動模式和命名用戶模式等)
      缺點:
              1. 需要網絡和服務端支持
              2. 和服務端通信的通道必須是加密的,例如採用SSL

5. 法律保護

      上邊幾條都是基於技術層面的,最後不得不提一下,法律保護的重要性,在軟件裏要寫明版權聲明,最好是申請軟件著作權。據說MS在中國的主要收入來源是打擊盜版,法律保護的重要性,你懂的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章