常用EDA軟體的license檔案結構分析
目前,80%以上的EDA軟體,如ANSYS的Ansys(大型通用有限元分析軟體)和Fluent(世界領先的計算流體動力學軟體)、PTC 的ProE(三維圖形軟體)、Cadence 的OrCAD和Allegro(原理圖/PCB設計軟體)、Altera的QuartusII(EPLD/FPGA開發軟體)等,執行時都需要經過註冊程式Flexlm產生的License檔案認證才可以使用, Flexlm是由Globetrotter 公司發明的軟體加密方法-柔性註冊管理(Flexible License Manager)。Flexlm可以鎖定機器的硬碟號,網絡卡號,使用日期,支援加密狗,以保護軟體的智慧財產權。Flexlm是目前最流行的EDA軟體加密方法,保護著世界上價值幾百億美元的EDA軟體。
Flexlm所管理的是License檔案,因此分析瞭解License檔案的結構,對大多數EDA軟體使用者來說是一件非常有意義的事。
1、License檔名
通常是License.dat或License.txt,其實也可以取任何名字,只要與Windows環境變數“LM_LICENSE_FILE”設定一致即可,該檔案可以用任何文字編輯器(如記事本)開啟。
2、License檔案內容
License檔案由註釋行,Server行,Demon(或Vendor)行, 以及Feature(或Increment)行構成。其中前三種可有可無,Feature行必須有。
(1)註釋行:第一個字元是 "#" 的行。
(2)Server行 :Server行用來標識一臺特定的主機,其格式是::
SERVER nodename id port-number ,其中:
“Server”是關鍵字;
“nodename”是主機的名稱,可以在“我的電腦”屬性中看到,預設使用“HostName”;“id”是主機的ID號,即網絡卡實體地址 ,可以在DOS下(執行CMD)使用ipconfig/all檢視,如果使用“ANY”則表示可以在任何一臺機器上執行;
“port-number”是TCP埠號,如 1700。
例如:SERVER HostName 000012345678 TCP:1700
(3)Daemon(或Vendor)行:Deamon行是用來標識EDA軟體供應商吧。其常見格式是:
DAEMON daemon_name daemon_path
“Deamon”是關鍵字,FLEXlm6.0以後的版本也支援用“VENDOR”;
“daemon_name”是供應商的名字,通常使用“cdslmd” (Cadence License Manager Daemon 的簡稱) 即可;
“daemon_path”是cdslmd.exe 安裝路徑,預設可不用。
例如:DAEMON cdslmd c:/cdslic/bin/cdslmd.exe 或 DAEMON cdslmd
(4)Feature(或Increment)行: Feature行是用來對EDA軟體某項特定的功能進行限制的,其常見的格式為:
FEATURE(或INCREMENT) name vendor version expiration_date nn key "VENDOR_STRING=str HOSTID=id
“FEATURE”(或INCREMENT)是關鍵字;
“name”是EDA軟體限定功能的名稱;
“vendor”是EDA軟體供應商名字;
“version”是EDA軟體版本號;
“date” 是EDA軟體使用到期日期;
“nn” 是允許使用的終端使用者數,“uncounted”為無限制;
“key” 是加密密碼(明鈅),20個十六進位制碼;
“str” 是EDA軟體供應商程式碼;
“id” 是主機ID號,一般為主機的網絡卡實體地址;
當一行寫不下時可以使用“/”字元續行。
例如:FEATURE LayoutPlus cdslmd 16.0 31-dec-2015 uncounted DD244D2C4BB47/BCB355E VENDOR_STRING=Team_EFA_2006 HOSTID=ANY
更詳細的關於FLEXlm 的License檔案格式可以參考FLEXlm的“End-User-Manual”。
又如:FEATURE maxplus2 alterad 2001.12 25-sep-2002 uncounted E71125CEA376/
HOSTID=GUARD_ID=T000072362
其中“HOSTID=GUARD_ID=T000072362”表示只有檢測到存在T000072362的加密狗時,軟體才可以使用。另外還可以指定硬碟號。