資源描述:
《威步軟件保護防盜版硬件加密狗codemeter wupi samples說明for c++》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、CodeMeterWUPISamples說明ForC++1/9WUPISamplesForC++說明文檔1.C++的例子當安裝完后已經(jīng)安裝在您的電腦上,首先打開CodeMeterStartCenter,選擇Samples可進入目錄SoftwareProtectionC++WupiCalculatorIndex下查找到。2.該例子的加密原理是由外殼工具AXPROTECTOR和WUPI函數(shù)功能組成,用戶除了可以用自動外殼工具保護程序外,還可以對源程序的函數(shù)段進行自定義加密,并且可以通過WUPI函數(shù)來控制該函數(shù)段在內(nèi)存中什么時候解密運行,什么時候再次加密保護起來。
2、3.首先我們打開外殼配置文件,如果您是CodeMeter用戶請打開該目錄下WupiCalculator-CodeMeter.WibuAxProject文件,如果您是WibuKey則打開WupiCalculator-WibuKey.WibuAxProject文件,以下我們以CodeMeter為例。4.雙擊該外殼配置文件后,外殼程序AxProtector也會被自動啟動,如下圖:2/9首先要選擇需要加密的應用程序exe或者dll,然后下一步如下圖:該步驟和后面一些步驟的說明都可以參考外殼的操作說明,這里不一一介紹說明了,一直下一步到Advancedoptions選項,通
3、常單純的自動外殼加密的時候”ActivateIxProtector/WUPI”默認是不激活的,而這里我們需要讓外殼和我們的WUPI函數(shù)功能組合在一起使用時,必須打上勾激活。3/9接著我們就可以進入下一步進行細節(jié)的配置。該例子是一個計算器例子,并且對計算器里的計算功能進行模塊許可分配,如下圖,在許可列表里為每個不同的模塊功能分配不同的許可,(這些都針對希望對程序中多個功能進行分開授權管理而設定的,否則的話用戶默認即可不用設置)然后在下一步里如下圖,用戶可以把希望做加密的函數(shù)名稱添加到以下列表中4/9按添加函數(shù)按鈕會出現(xiàn)如下圖,在Name中填入函數(shù)名稱(該函數(shù)名稱必須
4、和程序中一致,否則外殼程序會無法查找到該函數(shù)),還可以通過Length來設定加密字節(jié)多少,而在licenselist里如果需要對該函數(shù)功能進行模塊分授權管理,即可選擇上一步已經(jīng)設定的許可列表里的許可,則會自動綁定到該函數(shù)。然后就可以一直next到最后一步,按finish來完成加密工作,如下圖:5/95.以上的步驟是外殼程序自動對WUPI函數(shù)進行處理,但是在這之前其實我們必須要程序中定義好WUPI函數(shù)并且編譯生成后,才可以用以上外殼加密工具進行。然后下面我們看一下程序,這里請注意,所有在前面外殼加密時設定的加密函數(shù)段,必須在程序中做如下處理才可以進行加密,必須先調(diào)用
5、WupiDecryptCode()函數(shù)進行解密操作,然后才能運行那些加密的函數(shù)段如下面的CalcSimpleOperation(),否則將會出錯,在運行完以后再調(diào)用WupiEncryptCode()函數(shù)進行加密,來保證內(nèi)存中不要長時間暴露解密的函數(shù)程序。(在這里用戶可以自行調(diào)節(jié),什么時候再加密,比如有些經(jīng)常會被調(diào)用到的大運算量函數(shù)考慮到運行效率問題可以延后再進行加密,降低了一些安全性而保證運行效率)另外可看到WupiDecryptCode()的參數(shù)為1,2,3…這個參數(shù)對應的是前面外殼加密時定義的加密函數(shù)段的ID如下圖。6/9其他一些函數(shù)如WupiDecrease
6、UnitCounter()只有當設定了計數(shù)器時,可以使用該函數(shù)來對計數(shù)器進行減數(shù)操作。另外一些WUPI函數(shù)WupiCheckLicense(),可以用來檢測加密鎖上是否存在相應的許可單元(請注意該函數(shù)后的參數(shù)對應的是licenselists中的許可列表中的ID而不是上面的函數(shù)定義ID),還有一個比較關鍵的函數(shù)WupiCheckDebugger可以在程序中進行定義,它會自動對偵測進程中是否有debugger破解工具,用戶可以在程序中多出添加來防止別人嘗試破解您的軟件。所有WUPI函數(shù)詳細可查看開始-所有程序-CodeMeter-Documentation-Softw
7、areProtectionAPIHelp(English)文檔。6.Wupi函數(shù)必須引用到頭文件wibuixap.h(在目錄C:ProgramFilesWIBU-SYSTEMSAxProtectorDevkitinclude)和lib文件WupiEngine32.lib(在目錄C:ProgramFilesWIBU-SYSTEMSAxProtectorDevkitlib),在編譯完后用上述外殼工具進行加密,另外請注意所有需要被加密處理的函數(shù)頭文件中必須以__declspec(dllexport)申請,這樣外殼加密時才能認出該函數(shù)并進行加密。另外請
8、注意,編譯