簡介:
PJSECURE 是一個 C 風格的 Win32 動態鏈接庫,利用它可以實現軟件產品的網絡拷貝注冊功能。
通過調用 RCP 函數 UuidCreate 或 UuidCreateSequential 快速獲取遠端機器的網卡地址。
PJSECURE 中的導出函數根據兩個信息來唯一確定某台計算機。第一個函數可以獲取所裝網卡的 NIC 地址,該地址是一個12位的數字,由網卡的生產廠商保證其唯一性。第二個函數返回機器 C 盤的序列號。有了著兩個信息,就可以成功創建自己的軟件注冊機制。
源代碼中包含 PJSECURE 的定義和實現以及一個測試該 DLL 的控制台程序。
支持 Unicode ,並且隨源代碼一起提供生成配置選項。
API 參考:
GetNicAddress
BOOL GetNicAddress(LPTSTR pszNicAddress, UINT nBufSize);
參數
pszNicAddress 如果函數調用成功,用該參數保存 NIC 地址。
nBufSize pszNicAddress 參數的長度,至少應該為13 或更大。
注釋
該函數獲取客戶機器上網卡的 NIC 地址。調用程序負責分配緩沖接收該地址。所有 NIC 地址為12字節長,所以調用該函數前應該分配至少13個字節以上的空間來容納該地址。該函數在內部調用 RCP 函數 UuidCreate 或 UuidCreateSequential。這意味著代碼不依賴所安裝的任何專門的網絡協議。如果函數調用成功返回 TRUE,否則返回 FALSE。
GetCDriveSerialNumber
BOOL GetCDriveSerialNumber(LPDWORD pdwSerialNumber);
參數
pdwSerialNumber DWORD 指針,它根據函數的返回值來接收“C”盤的序列號。
注釋
如果函數調用成功返回 TRUE,否則返回 FALSE。pdwSerialNumber中的返回值可用“VOL”命令行命令顯示出來。對於安全敏感程序,調用該函數可以作為一種次要手段來獲得關於客戶的確認性信息。
版權聲明:
你可以在任何以二進制形式發布的產品(包括商業的、共享的、自由的或其它的)中包含此源代碼
在不修改每個模塊(*.h、*.cpp)最上方版權細則的前提下,你可以用任何方式修改源代碼
如果你想要與自己的應用程序一起分發源代碼,只允許分發作者最新發布的版本,以便保證源代碼的出處是唯一的。
注意事項:
如果在 Windows 2000 上運行該程序,請用 UuidCreateSequential 調用替換 UuidCreate 調用。
本文配套源碼