基於硬體指紋的軟體加密和註冊技術

2021-06-23 02:52:15 字數 1876 閱讀 3698

在軟體加密保護技術中,一種常用的保護方法就是基於硬體指紋進行許可授權,本文將詳細介紹硬體指紋的具體獲取技術,並提供一段演示源**程式。

硬體指紋加密,指的是使用者免費得到軟體並安裝後,軟體從使用者的機器上取得該機器的一些硬體資訊(如硬碟序列號、bois序列號等等),然後把這些資訊和使用者授權進行繫結,產生硬體特徵碼,使用者需要將此特徵碼提交給軟體提供商或開發商,軟體開發商利用序號產生器(軟體)產生該軟體的註冊號發給使用者,使用者通過此註冊號可以啟用本地授權許可。軟體加密雖然加密強度比硬體方法較弱,但它具有非常廉價的成本、方便的使用方法等優點,從而在低成本的共享軟體領域廣泛應用。

硬體指紋加密的關鍵是電腦硬體資訊的獲取,我們需要通過程式將機器的標識一一讀取出來,根據機器的標識,通過一定的演算法,對使用者進行授權限制。

目前比較常見的硬體資源包或:硬碟物理序列號、cpu序列號、網絡卡mac位址、bios序列號、主機板序列號等,如果使用者的硬體資訊發生變化,比如更換了網絡卡等硬體,則按照一定比例進行判斷,比如三分之二的硬體資訊沒有變化,則表示同一使用者。

下面是使用vb呼叫windows的wmi編寫的一段硬體指紋獲取的演示程式,直接將其另存為vbs字尾檔案即可執行。稍加修改即可應用在共享軟體裡,實現用註冊碼對軟體進行保護的功能。

msgvalue = ""

set objwmiservice = getobject("winmgmts:\\.\root\cimv2")

'獲取硬碟序列號

set colitems = objwmiservice.execquery("select * from win32_physicalmedia", , 48)

for each objitem in colitems

msgvalue = msgvalue & vbcrlf & "硬碟 = " & objitem.serialnumber

next

'獲取主機板序列號

set colitems = objwmiservice.execquery("select * from win32_baseboard", , 48)

for each objitem in colitems

msgvalue = msgvalue & vbcrlf & "主機板=" & objitem.serialnumber

next

'獲取cpu id

set colitems = objwmiservice.execquery("select * from win32_processor", , 48)

for each objitem in colitems

msgvalue = msgvalue & vbcrlf & "cpu = " & objitem.processorid

next

'獲取bios序列號

set colitems = objwmiservice.execquery("select * from win32_bios", , 48)

for each objitem in colitems

msgvalue = msgvalue & vbcrlf & "bios= " & objitem.serialnumber

next

'獲取網絡卡mac位址

set colitems = objwmiservice.execquery("select macaddress from win32_networkadapter where ((macaddress is not null) and (manufacturer <> 'microsoft'))", , 48)

for each objitem in colitems

msgvalue = msgvalue & vbcrlf & "網絡卡 = " & objitem.macaddress

next

wscript.echo msgvalue

基於硬體指紋的軟體加密和註冊技術

在軟體加密保護技術中,一種常用的保護方法就是基於硬體指紋進行許可授權,本文將詳細介紹硬體指紋的具體獲取技術,並提供一段演示源 程式。硬體指紋加密,指的是使用者免費得到軟體並安裝後,軟體從使用者的機器上取得該機器的一些硬體資訊 如硬碟序列號 bois序列號等等 然後把這些資訊和使用者授權進行繫結,產生...

基於硬碟序列號的軟體加密與解密

基於硬碟序列號的軟體加密與解密 部分源 如下所示 在 oninitdialog 函式中初始化客戶號 dword volumeserialnumber getvolumeinformation c null,12,volumeserialnumber,null,null,null,10 char pn...

軟體加密狗破解思路和方法

硬體加密鎖,俗程 加密狗 對於軟體加密狗的破解大致可以分為三種方法,一種是通過硬體轉殖或者複製,一種是通過softice等debug工具除錯跟蹤解密,一種是通過編寫攔截程式修改軟體和軟體加密狗之間的通訊。硬體轉殖複製主要是針對國產晶元的軟體加密狗,因為國產加密狗公司一般沒有核心加密晶元的製造能力,因...