国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論用delphi實(shí)現(xiàn)共享軟件自動(dòng)安全注冊(cè)機(jī)制

2020-08-04 11:22:35沈園園
數(shù)碼世界 2020年7期
關(guān)鍵詞:序列號(hào)客戶(hù)端服務(wù)器

沈園園

概述:依賴(lài)硬件采集碼①方式的共享軟件注冊(cè)是一個(gè)比較復(fù)雜的過(guò)程,卻相對(duì)安全,常規(guī)注冊(cè)模式比較依賴(lài)人工溝通再進(jìn)行注冊(cè),繁瑣且易出錯(cuò)。在互聯(lián)網(wǎng)與云服務(wù)器發(fā)達(dá)的時(shí)代,有效利用互聯(lián)網(wǎng)和云服務(wù)器解決共享軟件注冊(cè)的難題,實(shí)現(xiàn)無(wú)人值守自動(dòng)安全注冊(cè)是很有必要的。本文主要研究使用DELPHI開(kāi)發(fā)共享軟件自動(dòng)注冊(cè)系統(tǒng)的實(shí)現(xiàn)方法。

關(guān)鍵字:共享軟件注冊(cè)? delphi? 自動(dòng)化軟件注冊(cè)? 硬件信息采集? 注冊(cè)碼? 加密

引言

我們?cè)谶M(jìn)行DELPHI教學(xué)過(guò)程中遇到有學(xué)生請(qǐng)教共享軟件注冊(cè)的問(wèn)題,展開(kāi)討論當(dāng)前主流軟件注冊(cè)模式,并總結(jié)出了一種自動(dòng)化且安全的共享軟件注冊(cè)機(jī)制,用于實(shí)際應(yīng)用于共享軟件注冊(cè)。本文主要研究硬件注冊(cè)碼模式下如何進(jìn)行自動(dòng)化共享軟件注冊(cè)。

1.提出問(wèn)題:

共享軟件注冊(cè)是為了保證共享軟件作者合法權(quán)益的一種軟件保護(hù)機(jī)制,通常自動(dòng)化注冊(cè)使用的是軟件注冊(cè)碼模式,就是利用算法生成注冊(cè)碼,用戶(hù)只需要輸入注冊(cè)碼就可以注冊(cè),這種模式可以將注冊(cè)碼放到共享軟件平臺(tái)銷(xiāo)售,但有個(gè)很?chē)?yán)重的問(wèn)題,軟件注冊(cè)碼模式不安全,就是大家常說(shuō)的COPY副本,只要有人將一個(gè)注冊(cè)碼共享出來(lái),所有人都可以使用了。

既然軟件注冊(cè)碼模式很容易被COPY副本,那么為什么還是有那么多軟件廠商使用軟件注冊(cè)碼模式呢?因?yàn)檐浖?cè)碼模式天生就可以的實(shí)現(xiàn)無(wú)人值守的自動(dòng)注冊(cè)授權(quán),可以廠商自售,可以托管代售,可以渠道分銷(xiāo)。

那么硬件注冊(cè)碼模式是相對(duì)比較安全的,有沒(méi)有可能把硬件注冊(cè)碼模式變成一種自動(dòng)注冊(cè)的方法呢?

2.分析問(wèn)題:

硬件注冊(cè)碼模式的原理是采集用戶(hù)電腦的硬件信息,根據(jù)硬件信息生成注冊(cè)碼或授權(quán)文件,這樣保證了一個(gè)注冊(cè)碼只能被一臺(tái)電腦使用,相對(duì)比較安全。在這樣的過(guò)程里,注冊(cè)碼是無(wú)法預(yù)先生成的,而且授權(quán)過(guò)程需要用戶(hù)和授權(quán)者相互溝通。

用手機(jī)充值卡給手機(jī)充值給了我們一個(gè)很好的啟示,通過(guò)代入,把注冊(cè)碼當(dāng)作充值卡密碼,把硬件注冊(cè)碼模式的軟件授權(quán)過(guò)程當(dāng)作通信運(yùn)營(yíng)商后臺(tái)的充值過(guò)程,這樣我們就可以利用硬件注冊(cè)碼模式的安全性,只需要把軟件的授權(quán)過(guò)程通過(guò)網(wǎng)絡(luò)和服務(wù)做成自動(dòng)處理過(guò)程,然后批量生產(chǎn)注冊(cè)碼就可以實(shí)現(xiàn)共享軟件的自動(dòng)安全注冊(cè)了。

下面將詳細(xì)論述用delphi實(shí)現(xiàn)硬件注冊(cè)碼模式的自動(dòng)注冊(cè)過(guò)程。

一、硬件注冊(cè)碼模式自動(dòng)注冊(cè)原理

傳統(tǒng)的硬件注冊(cè)碼是通過(guò)客戶(hù)電腦的硬件信息生成的,無(wú)法預(yù)先生成注冊(cè)碼,這樣就導(dǎo)致了無(wú)法將注冊(cè)碼托管到第三方平臺(tái)代售。那么要實(shí)現(xiàn)自動(dòng)注冊(cè),就必須把軟件授權(quán)的過(guò)程自動(dòng)化,注冊(cè)碼只是作為服務(wù)器驗(yàn)證客戶(hù)是否購(gòu)買(mǎi)授權(quán)的唯一憑據(jù),注冊(cè)碼正確則服務(wù)器和客戶(hù)端配合完成軟件的實(shí)際注冊(cè)授權(quán)。此過(guò)程類(lèi)似手機(jī)充話(huà)費(fèi),充值密碼正確則進(jìn)行充值。

原理如下:用戶(hù)購(gòu)買(mǎi)注冊(cè)碼->用戶(hù)獲得注冊(cè)碼->用戶(hù)輸入注冊(cè)碼->服務(wù)器驗(yàn)證注冊(cè)碼->通過(guò)進(jìn)行注冊(cè)授權(quán)過(guò)程并完成軟件注冊(cè)授權(quán),否則退出。

注冊(cè)過(guò)程:客戶(hù)端獲得硬件采集碼->發(fā)送硬件采集碼到服務(wù)器->根據(jù)硬件采集碼通過(guò)算法生成硬件校驗(yàn)碼后發(fā)回客戶(hù)端->客戶(hù)端接受硬件校驗(yàn)碼->客戶(hù)端保存并生成KRY文件->完成授權(quán)。

二、硬件注冊(cè)碼運(yùn)作流程

1.常規(guī)硬件注冊(cè)碼模式運(yùn)作流程

用戶(hù)安裝軟件后收集硬件采集碼,聯(lián)系開(kāi)發(fā)者進(jìn)行購(gòu)買(mǎi)支付,再把硬件采集碼發(fā)給作者由作者生成硬件注冊(cè)碼,用戶(hù)使用硬件注冊(cè)碼注冊(cè)軟件,然后完成注冊(cè),可以使用軟件。

2.硬件注冊(cè)碼自動(dòng)注冊(cè)流程

用戶(hù)安裝軟件以后打開(kāi)購(gòu)買(mǎi)鏈接,使用共享軟件注冊(cè)平臺(tái)購(gòu)買(mǎi)支付,而后獲得自動(dòng)注冊(cè)碼進(jìn)行軟件注冊(cè)。

從以上兩個(gè)過(guò)程可以看出使用硬件注冊(cè)碼自動(dòng)注冊(cè)機(jī)制的優(yōu)勢(shì)。

三、自動(dòng)注冊(cè)系統(tǒng)的關(guān)系

注冊(cè)碼管理程序用于生成注冊(cè)碼,它將批量生成的注冊(cè)碼發(fā)布到自動(dòng)平臺(tái),由用戶(hù)購(gòu)買(mǎi)自動(dòng)發(fā)送注冊(cè)碼,用戶(hù)進(jìn)行注冊(cè)客戶(hù)端,客戶(hù)端注冊(cè)完畢以后聯(lián)系注冊(cè)服務(wù)器進(jìn)行數(shù)據(jù)庫(kù)對(duì)比。

了解以上基本原理和流程后我們就可以使用DELPHI進(jìn)行實(shí)現(xiàn)了,我們能得出我們需要實(shí)現(xiàn)的三大模塊:

1.注冊(cè)碼管理程序:負(fù)責(zé)生成注冊(cè)碼并插入數(shù)據(jù)庫(kù)。

2.注冊(cè)服務(wù)器:負(fù)責(zé)驗(yàn)證客戶(hù)端發(fā)來(lái)的注冊(cè)碼是否正確,提供對(duì)客戶(hù)端進(jìn)行授權(quán)服務(wù),并將使用過(guò)的注冊(cè)碼刪除。

3.注冊(cè)客戶(hù)端:每次軟件啟動(dòng)檢查軟件的是否被注冊(cè)授權(quán),已授權(quán)則顯示軟件主界面,如果軟件沒(méi)有被授權(quán)則顯示軟件注冊(cè)界面,用戶(hù)只需要輸入注冊(cè)碼與注冊(cè)服務(wù)器通信進(jìn)行軟件注冊(cè)授權(quán)。

四、注冊(cè)碼管理程序的開(kāi)發(fā)

為了方便在網(wǎng)上生成發(fā)布注冊(cè)碼,我們使用Delphi XE2+Intraweb來(lái)開(kāi)發(fā)B/S結(jié)構(gòu)的注冊(cè)碼管理程序。該程序的主要功能有:

1.軟件管理--->添加新的軟件,以便新增加軟件也能使用自動(dòng)授權(quán)系統(tǒng)

2.注冊(cè)碼生成--->對(duì)指定的軟件利用隨機(jī)算法生成固定長(zhǎng)度的注冊(cè)碼,可以批量生產(chǎn)注冊(cè)碼,注冊(cè)碼生成后保存到數(shù)據(jù)庫(kù)里

3.注冊(cè)碼生成歷史--->生成注冊(cè)碼時(shí)產(chǎn)生的記錄信息

4.注冊(cè)碼使用歷史--->注冊(cè)服務(wù)器生成的注冊(cè)碼使用歷史記錄,包含用戶(hù)郵件、用戶(hù)硬件采集碼、用戶(hù)硬件效驗(yàn)碼、注冊(cè)時(shí)間、注冊(cè)碼等信息

注冊(cè)表字段構(gòu)成:Rid:自動(dòng)編碼;Rsoft:所屬軟件;Rnum:注冊(cè)碼;Rtime:生成時(shí)間;由于篇幅的限制,本文僅略去隨機(jī)生成注冊(cè)碼的算法。

五、注冊(cè)服務(wù)器程序的開(kāi)發(fā)

注冊(cè)服務(wù)器和注冊(cè)碼管理程序要使用同一個(gè)數(shù)據(jù)庫(kù),注冊(cè)服務(wù)器使用Delphi XE2+Indy來(lái)開(kāi)發(fā)。使用了IdTCPServer來(lái)作為服務(wù)器通信組件。

注冊(cè)信息數(shù)據(jù)構(gòu)成:軟件標(biāo)識(shí):DPS,用于服務(wù)器識(shí)別屬于哪個(gè)軟件;郵件:109693505@QQ.com,用于記錄用戶(hù)聯(lián)系郵件;注冊(cè)碼:ABCDEFG123,用于服務(wù)器檢測(cè)本次注冊(cè)是否授權(quán);硬件采集碼:J20DALLDALSLDL(硬盤(pán)序列號(hào)),用于服務(wù)器生成硬件效驗(yàn)碼。

確認(rèn)信息數(shù)據(jù)構(gòu)成:確認(rèn)代碼:OK或ERROR

通信過(guò)程:注冊(cè)客戶(hù)端連接注冊(cè)服務(wù)器,連接成功發(fā)送注冊(cè)信息,返回確認(rèn)信息。

注冊(cè)服務(wù)器示例接收數(shù)據(jù)具體運(yùn)行原理描述如下,由于篇幅的限制代碼略:

接收記錄->返回記錄->生成硬件效驗(yàn)碼(AES密鑰;AES明文)->接收數(shù)據(jù)->寫(xiě)入記錄->從注冊(cè)碼表查詢(xún)指定軟件的注冊(cè)碼是否存在->如果找到,注冊(cè)碼可用則:生成硬件效驗(yàn)碼,判斷硬件采集碼長(zhǎng)度是否大于32,如果超過(guò)32則截取前32位字符,當(dāng)作AES256的密鑰->客戶(hù)端通過(guò)同樣的操作,對(duì)比服務(wù)器發(fā)送的效驗(yàn)碼,判斷是否授權(quán)->用AES加密生成硬件效驗(yàn)碼->從注冊(cè)碼表刪除->返回注冊(cè)成功信息及硬件效驗(yàn)碼->沒(méi)找到相關(guān)軟件的注冊(cè)碼->返回錯(cuò)誤信息。

六、注冊(cè)客戶(hù)端程序的開(kāi)發(fā)

此處采用硬盤(pán)序列號(hào)作為硬件采集碼

注冊(cè)客戶(hù)端主要有兩個(gè)任務(wù):1.與注冊(cè)服務(wù)器通信完成軟件注冊(cè)授權(quán);2.軟件每次啟動(dòng)時(shí)檢查軟件是否被授權(quán)使用。

注冊(cè)客戶(hù)端的運(yùn)行流程:

客戶(hù)端啟動(dòng)->采集硬盤(pán)序列號(hào)->通過(guò)硬件校驗(yàn)碼算法生成硬件校驗(yàn)碼->讀取授權(quán)文件比對(duì)硬件校驗(yàn)碼->TURE->校驗(yàn)通過(guò)正常運(yùn)行此軟件;FALSE->校驗(yàn)不通過(guò)調(diào)用顯示注冊(cè)窗口->輸入注冊(cè)碼服務(wù)器檢查注冊(cè)碼,如錯(cuò)誤三次則退出,如正確則將硬件注冊(cè)碼寫(xiě)入授權(quán)文件->提示注冊(cè)成功并重新運(yùn)行程序關(guān)閉客戶(hù)端。檢測(cè)授權(quán)文件是否存在過(guò)程中,如果沒(méi)有存在則默認(rèn)顯示注冊(cè)界面,一般讀取授權(quán)文件第一行,硬件校驗(yàn)碼后再獲取硬盤(pán)序列號(hào),這里用和服務(wù)器同樣的算法把硬件序列號(hào)生成硬件校驗(yàn)碼。

七、示例硬件效驗(yàn)碼算法描述(硬盤(pán)序列號(hào))

通過(guò)AES256加密硬盤(pán)序列號(hào)得到硬件效驗(yàn)碼

加密算法:AES256;原字符串:硬盤(pán)序列號(hào);加密密鑰:硬盤(pán)序列號(hào)(如果大于32位,截取前32位);硬件效驗(yàn)碼=加密后的字符串。

授權(quán)文件就算只存儲(chǔ)明文硬件效驗(yàn)碼也沒(méi)關(guān)系,授權(quán)文件被復(fù)制到其他電腦無(wú)法使用。

結(jié)束語(yǔ)

通過(guò)網(wǎng)絡(luò)和服務(wù)器對(duì)注冊(cè)碼驗(yàn)證后進(jìn)行共享軟件自動(dòng)注冊(cè)授權(quán)是完全可行的,較簡(jiǎn)單的實(shí)現(xiàn)了自動(dòng)安全注冊(cè):注冊(cè)碼只能使用一次,能夠保證一臺(tái)電腦一個(gè)授權(quán),并且在安全得到保證的同時(shí)又具備了軟件注冊(cè)碼的易用性,可以將注冊(cè)碼放到共享軟件注冊(cè)平臺(tái)托管銷(xiāo)售,或者放到卡類(lèi)平臺(tái)自動(dòng)銷(xiāo)售。完全實(shí)現(xiàn)了即安全又自動(dòng)化的共享軟件注冊(cè)以及共享軟件注冊(cè)銷(xiāo)售的無(wú)人值守模式。

猜你喜歡
序列號(hào)客戶(hù)端服務(wù)器
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
recALL
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶(hù)端
孵化垂直頻道:新聞客戶(hù)端新策略
基于Vanconnect的智能家居瘦客戶(hù)端的設(shè)計(jì)與實(shí)現(xiàn)
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
PP助手教你辨別翻新iPhone5小白不再中招
客戶(hù)端空間數(shù)據(jù)緩存策略
溫度傳感器DS18B20序列號(hào)批量搜索算法
潢川县| 滦南县| 北票市| 唐山市| 鲁甸县| 建德市| 曲松县| 浦江县| 曲靖市| 武强县| 金沙县| 聂荣县| 咸阳市| 额敏县| 博客| 康乐县| 昭苏县| 谢通门县| 高雄市| 澳门| 囊谦县| 永和县| 柞水县| 宁陵县| 文化| 芦山县| 武乡县| 肇庆市| 南和县| 屏南县| 北流市| 肥乡县| 洪泽县| 习水县| 称多县| 延边| 东乡| 新巴尔虎左旗| 海盐县| 呼伦贝尔市| 神农架林区|