專利名稱:一種使用元數(shù)據(jù)保護正版軟件的方法
技術領域:
本發(fā)明涉及一種使用元數(shù)據(jù)保護正版軟件的方法,屬于信息技術領域。
背景技術:
現(xiàn)在,軟件盜版是一個比較普遍的現(xiàn)象,目前保護正版軟件有幾種方法(1)安裝 序列號,比如安裝windows操作系統(tǒng)、office辦公軟件等。(2)應用激活碼,安裝后需要提 供一些用戶信息給軟件商,然后獲得激活碼,激活軟件。(3)采用加密狗,把一些信息寫入到 加密狗內(nèi),在需要的時候讀取出來進行驗證。(4)定制開發(fā),針對用戶的需求,為用戶量身定 做,做出來的軟件只適合該用戶,并不適合其他用戶,當然這是無奈的選擇。(5)把軟件放在 軟件公司的服務器上,用戶使用軟件,就好像使用新浪的微博一樣,需要先登錄網(wǎng)站,然后 才能使用。這需要把用戶的數(shù)據(jù)放在軟件公司的服務器上面,但用戶并不放心自己的數(shù)據(jù) 放在別人的服務器上面。以上是比較常見的保護正版軟件方法,例如很多人都在用盜版的windows和 word。激活碼可以通過算號器來計算激活碼,或者通過替換文件的方式來破解。加密狗,又名加密鎖,是目前比較有效的保護正版軟件的方法,用加密狗保護軟 件,第一就是選擇一個好加密鎖,也就是技術過硬的加密鎖廠商,然后要有一套好的加密方 案,如果加密鎖不好則很容易被復制,如果加密方案不好則很容易被繞過去,這種加密方案 都是需要耗費大量成本和時間的;另外,目前針對加密狗的破解也有許多方法。以上保護正版軟件的方法的共同特點是,軟件運行并不依賴激活碼、序列號、加密 狗,而是強制性的必須有相應的信息才能運行,而一旦這個信息被假冒或復制,那么對正版 軟件的保護也就形同虛設。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠克服上述技術問題的能夠有效地防止軟件被盜 版的一種使用元數(shù)據(jù)保護正版軟件的方法。本發(fā)明是通過采用元數(shù)據(jù)和軟件分離的方法實現(xiàn)保護正版軟件的技術效果的,本 發(fā)明的步驟是(1)在軟件公司的服務器上建立一個正版用戶信息庫,用于記錄正版用戶的用戶 ID、登錄賬戶、密碼、請求元數(shù)據(jù)的服務器的正確IP地址、記錄用戶可以使用哪些軟件和軟 件模塊、以及使用期限的信息;(2)軟件公司編寫軟件;(3)設置一個用于接收用戶請求的服務器,驗證是否是有效的用戶,如果是有效的 用戶則向用戶發(fā)送元數(shù)據(jù);(4)用戶購買正版軟件,注冊用戶信息,填寫申請元數(shù)據(jù)的服務器的IP地址;(5)用戶運行軟件,申請元數(shù)據(jù);(6)軟件公司的服務器接受用戶的申請,判斷用戶的身份是否符合要求,如果符合要求,發(fā)送申請的元數(shù)據(jù);(7)用戶的軟件得到元數(shù)據(jù)后,依據(jù)元數(shù)據(jù)實現(xiàn)正常運行。元數(shù)據(jù)是一種數(shù)據(jù),從實質(zhì)上講是一組字符串,元數(shù)據(jù)具有跨越編程語言的特性, 可以表達一定的含義,編程語言則根據(jù)元數(shù)據(jù)所表達的含義來實現(xiàn)各種功能。軟件在運行 的時候,不是判斷是否有元數(shù)據(jù),也不是對元數(shù)據(jù)進行加密、解密的運算,而是依賴元數(shù)據(jù) 實現(xiàn)部分功能或者全部功能。比如軟件需要依據(jù)元數(shù)據(jù)生成功能節(jié)點(功能菜單)、列表頁 面里的數(shù)據(jù)表格、表單里面的控件(例如文本框等)、查詢功能、用戶權(quán)限的過濾和判斷、 用戶的個性化設置;如果沒有元數(shù)據(jù),軟件的這些功能都無法實現(xiàn)。本發(fā)明采用元數(shù)據(jù)與軟件相互分離的方法,用戶購買軟件時,軟件公司只把軟件 的可執(zhí)行程序的部分交給用戶,而元數(shù)據(jù)保留在軟件公司的服務器上面,當用戶使用軟件 的時候,首先需要到軟件公司的服務器申請元數(shù)據(jù),申請成功之后,軟件才可以正常運行, 因為軟件的運行必須依賴元數(shù)據(jù),沒有元數(shù)據(jù),軟件的部分功能甚至是全部功能將無法實 現(xiàn)。本發(fā)明的有益效果是(1)不用增加硬件設備,不用設計加密方案,成本低。(2)能 夠控制試用期,在試用期內(nèi)申請元數(shù)據(jù),可以發(fā)送;過了試用期,沒有轉(zhuǎn)成正式用戶的話,就 可以不發(fā)送元數(shù)據(jù),沒有元數(shù)據(jù),軟件將無法運行。(3)能夠控制軟件模塊,例如將一個軟件 分為A、B、C、D四個模塊,能夠單獨銷售,某用戶只購買了 A模塊,那么就只發(fā)送A模塊相關 的元數(shù)據(jù),沒有其他模塊的元數(shù)據(jù),其他模塊是無法正常運行的。(4)能夠通過更改服務器 上的元數(shù)據(jù),實現(xiàn)軟件的改進和升級,這樣能夠給用戶帶來方便,變被動下載更新包為主動 升級軟件。
圖1是本發(fā)明所述一種使用元數(shù)據(jù)保護正版軟件的方法的方框示意圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。如圖1所示,用戶運行軟件 時,在用戶端通過用戶端服務器和互聯(lián)網(wǎng)向軟件公司的服務器請求元數(shù)據(jù),軟件公司在得 到申請的時候驗證是否是正版用戶,如果是正版軟件用戶端則發(fā)送元數(shù)據(jù),不是正版軟件 用戶則拒絕請求。軟件公司的服務器通過用戶ID與請求元數(shù)據(jù)的IP地址進行核對;用戶 ID正確請求以及元數(shù)據(jù)的IP地址和用戶填寫的IP地址一致,說明是正版軟件用戶,軟件公 司的服務器則向用戶端發(fā)送元數(shù)據(jù),這樣就排除了被他人冒用的可能,從根本上消除了軟 件被盜版的情況。用戶得到元數(shù)據(jù)后,軟件則通過對元數(shù)據(jù)的解析來正常運行。如果要破解本發(fā)明保護的軟件,首先必須盜取元數(shù)據(jù),其次必須修改軟件,更改申 請元數(shù)據(jù)時請求的域名,最后在做一個接受申請的程序。具體原理和過程詳述如下軟件運 行必須依賴元數(shù)據(jù),想要盜版就必須得一條一條地盜取元數(shù)據(jù)。元數(shù)據(jù)并不是key,例如安 裝序列號、激活碼這樣的簡單的信息,也不是加密信息,加密信息也比較簡短,而是大量的 數(shù)據(jù),幾百條、甚至幾萬條的記錄,軟件的模塊越多、頁面越多,元數(shù)據(jù)也就越多。想要完全 運行軟件,就必須獲得全部的元數(shù)據(jù)。元數(shù)據(jù)是保存在軟件公司的服務器上面的,不直接交 給用戶,也不會一次性全部發(fā)送給用戶,而是用戶需要哪個元數(shù)據(jù)就發(fā)送哪個,為了避免元數(shù)據(jù)被盜取,可以在申請元數(shù)據(jù)的請求中,加上一些不易察覺的暗號,用來區(qū)分是正常的請 求還是惡意盜取,或者對元數(shù)據(jù)進行加密。此外只是盜取元數(shù)據(jù)還是不夠的,因為軟件在運 行的時候,會向指定的服務器地址(即域名)申請元數(shù)據(jù),如果想讓軟件不向原來的域名申 請元數(shù)據(jù),而轉(zhuǎn)向盜版的元數(shù)據(jù)的域名,就必須修改這個請求的地址,這個就要反編譯軟件 代碼,找到域名修改代碼,然后重新編譯。這個就給破解帶了很大的難度。其次還要制作一個接受請求的程序;因為即使修改了軟件請求元數(shù)據(jù)的地址,那 么還得做一個接受請求的程序,否則還是無法讓盜版軟件獲得元數(shù)據(jù),這個響應程序是放 在軟件公司的服務器上面的,盜版者要么盜取這個程序,要么自己重新編寫;為了防止這種 情況,本發(fā)明在請求元數(shù)據(jù)和接受元數(shù)據(jù)的時候設置了暗號,如果軟件接收到元數(shù)據(jù),但是 暗號不符合,可以拒絕繼續(xù)運行,這樣如果要盜版還必須識別這些暗號,還要改動軟件。如 果軟件升級、改進是通過元數(shù)據(jù)來實現(xiàn)的話,那么盜版想要跟進,就必須獲取新的元數(shù)據(jù)。 然后更改盜版的元數(shù)據(jù),這樣就大大增加了盜版的難度,同時使用盜版的用戶也很麻煩;正 版軟件用戶因為每天都要申請元數(shù)據(jù),可以及時得到最新的元數(shù)據(jù),因此使用很方便。本發(fā)明不需要對硬件進行綁定,只需要保護解密的密鑰,因為會對發(fā)送的元數(shù)據(jù) 進行加密,要想正確識別必須知道解密的密鑰,提高了使用的便捷性并加大了破解的難度; 正版軟件需要正確解密元數(shù)據(jù)才能運行,為了保護放在正版軟件里面的密鑰,需要對軟件 進行混淆和加殼,這就是兩道保護,第一道是加殼,第二道是獲取元數(shù)據(jù),這樣正版軟件就 多了一層保護,如果殼被破解了則只能獲得解密的密鑰,還必須獲取元數(shù)據(jù)才能夠?qū)崿F(xiàn)盜 版。而對于保護元數(shù)據(jù),本發(fā)明采用一些做暗號標記的方法,或者在每一套正版軟件都設置 一個標識,如果正版軟件被盜版了,通過這個標識來識別是哪一套正版軟件被盜版了,從而 容易找到盜版者,即在發(fā)送元數(shù)據(jù)的時候加上暗號標記,在申請下一條元數(shù)據(jù)的時候,必須 能夠?qū)ι习堤枠擞洸攀钦5纳暾?,如果對不上暗號標記,可以認為是惡意盜取元數(shù)據(jù),而 停止提供元數(shù)據(jù),這樣就大大提高了安全性。本發(fā)明將元數(shù)據(jù)放在軟件公司的服務器上面,不僅能夠保護正版軟件、增加了軟 件的靈活性,而且還能夠通過修改元數(shù)據(jù)的方式來改進、升級軟件,這樣給軟件升級和使用 帶來了便捷,同時極大地加強了正版軟件的保護力度。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術領域的技術人員在本發(fā)明公開的范圍內(nèi),能夠輕易想到的變化或替換,都應涵 蓋在本發(fā)明權(quán)利要求的保護范圍內(nèi)。
權(quán)利要求
1. 一種使用元數(shù)據(jù)保護正版軟件的方法,其特征在于,包括以下步驟(1)在軟件公司的服務器上建立一個正版用戶信息庫,用于記錄正版用戶的用戶ID、 登錄賬戶、密碼、請求元數(shù)據(jù)的服務器的正確IP地址、記錄用戶可以使用哪些軟件和軟件 模塊、以及使用期限的信息;(2)軟件公司編寫軟件;(3)設置一個用于接收用戶請求的服務器,驗證是否是有效的用戶,如果是有效的用戶 則向用戶發(fā)送元數(shù)據(jù);(4)用戶購買正版軟件,注冊用戶信息,填寫申請元數(shù)據(jù)的服務器的IP地址;(5)用戶運行軟件,申請元數(shù)據(jù);(6)軟件公司的服務器接受用戶的申請,判斷用戶的身份是否符合要求,如果符合要 求,發(fā)送申請的元數(shù)據(jù);(7)用戶的軟件得到元數(shù)據(jù)后,依據(jù)元數(shù)據(jù)實現(xiàn)正常運行。
全文摘要
本發(fā)明涉及一種使用元數(shù)據(jù)保護正版軟件的方法,采用元數(shù)據(jù)與軟件相分離的方法,用戶購買軟件時,軟件公司只把軟件的可執(zhí)行程序的部分交給用戶,而元數(shù)據(jù)保留在軟件公司的服務器上面,當用戶使用軟件的時候,首先需要到軟件公司的服務器申請元數(shù)據(jù),申請成功之后,軟件才可以正常運行,因為軟件的運行必須依賴元數(shù)據(jù),沒有元數(shù)據(jù),軟件的部分功能甚至是全部功能將無法實現(xiàn);本發(fā)明的有益效果是不用增加硬件設備,不用設計加密方案,成本低,能夠控制試用期、控制軟件模塊,能夠通過更改服務器上的元數(shù)據(jù),實現(xiàn)軟件的改進和升級,能夠給用戶帶來方便,變被動下載更新包為主動升級軟件。
文檔編號G06F21/00GK102081717SQ20111004686
公開日2011年6月1日 申請日期2011年2月25日 優(yōu)先權(quán)日2011年2月25日
發(fā)明者金洋 申請人:金洋