曰韩免费无码AV一区二区,男女啪啪高清无遮挡免费,精品国产自在精品国产精

<delect id="ygmw2"><rp id="ygmw2"></rp></delect>
      1. <object id="ygmw2"><option id="ygmw2"></option></object>
        <object id="ygmw2"><option id="ygmw2"></option></object>

        您當前的位置:   首頁 > 新聞中心
        超級狗2.2 開發商指南——第3章 超級狗API保護
        發布時間:2018-09-28 22:54:15   閱讀次數:

        超級狗2.2 開發商指南——第3章 超級狗API保護(圖1)

        本章講解超級狗(SuperDog)Licensing API 保護方法,包括該API 概述、實施前提、如何實施、以及函數說明。本章包含如下內容:

        ·超級狗(SuperDog)Licensing API 概述

        ·實施Licensing API 的必備條件

        ·學習超級狗(SuperDog)Licensing API 示例

        ·超級狗(SuperDog)Licensing API 的函數

        ·實施超級狗(SuperDog)Licensing API 保護

        ·使用超級狗(SuperDog)API 保護安卓平臺應用程序

        ·使用超級狗(SuperDog)加密助手


         

        超級狗(SuperDog)Licensing API 概述

        軟件工程師在實施超級狗(SuperDog)的Licensing API 保護時,可以在被保護軟件源代碼中插入對超級狗(SuperDog)的調用。當被保護程序運行時,就可以檢查程序是否有超級狗(SuperDog)的保護。軟件工程師可以對這些檢查指定響應,例如,如果被保護程序未找到特定的超級狗(SuperDog),被保護程序就被指定自行掛起或終止。

        在源代碼中實施超級狗(SuperDog)Licensing API 保護是一個強健軟件保護方法,然而要最大程度發揮其保護能力,取決于實施過程。調用該函數庫的程度決定了被保護軟件的整體安全水平。

        軟件工程師在實施超級狗(SuperDog)Licensing API 軟件保護工程之前,最重要的是熟知Licensing API 的函數。關于超級狗(SuperDog)Licensing API 的各函數的詳細描述,請參閱第92 頁的附錄B 超級狗(SuperDog)Licensing API 參考或幫助文檔。

        要了解超級狗(SuperDog)Licensing API 保護的工作方式和能力范圍,軟件工程師還應學習超級狗(SuperDog)Licensing API 示例。有關更多的信息,請參閱本章第31 頁的學習超級狗(SuperDog)Licensing API 示例。

         

        實施Licensing API 的必備條件

        實施超級狗(SuperDog)Licensing API 的必備條件是: 首先把開發商代碼從開發狗導入Windows 的開發商代碼文件夾,其次是從SafeNet下載Licensing API 函數庫。有關開發商代碼的信息,請參閱第20 頁的開發商代碼和開發號。

         

        導入開發商代碼

        使用開發商向導可以把開發狗中的開發商代碼導入Windows 與Android 的開發商代碼文件夾。以下是開發商向導的使用說明。

        使用開發商向導

        1. 將開發狗連接至計算機。

        2. 運行開發商向導(開始 > 程序 > 超級狗(SuperDog)開發套件V( 版本) > 超級狗(SuperDog)工具包, 選擇:其他工具 > 開發商向導)。 開發商向導隨即啟動,檢測并列出連接的開發狗。


        注意:

        如果首次將開發狗連接到計算機,并且已啟動超級狗(SuperDog)應用程序,例如外殼加密工具,開發商向導會自動啟動。


        3. 開發商向導將提示導入Licensing API 函數庫。您有兩個選項,可以選擇“ 下載” 或“ 解壓縮”,默認的設置是“ 下載”。如果下載的速度慢,您可以選擇解壓縮的方式,那么您需要聯系SafeNet 技術支持部門,取得一份以開發號為文件名,擴展名為mwp 的壓縮文件,然后對其解壓縮。

        4. 在開發商向導的“ 開發狗信息” 窗口中,選擇路徑并保存開發商代碼。開發商代碼應被保存在開發商代碼文件夾(VendorCodes)中。

        默認的開發商代碼文件名為[ 開發號名稱].hvc。開發商代碼文件夾(VendorCodes) 位于以下目錄:...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\VendorCodes

        建議您使用開發商代碼文件夾(VendorCodes),因為在默認情況下,超級狗(SuperDog)軟件工具將搜索該文件夾以獲取開發商代碼。

        5. 在開發商向導的“ 指定 API 設置” 窗口中,選擇下載您指定的Licensing API 庫。 關于不同語言的函數庫,請參見本章超級狗(SuperDog)Licensing API 下載目錄。

        6. 如果出現升級API 庫的提示,請進行升級。

         

        超級狗(SuperDog)Licensing API 下載目錄

        下表列出Licensing API 的下載目錄:

        目錄下載目錄
        C...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\API\Licensing\C
        .NET...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\API\Licensing\DotNet
        COM...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\API\Licensing\COM
        Java...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\API\Licensing\Java
        C...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\C
        Java...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\Java
        C#...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\csharp
        VB.NET...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\vb.net
        ASP.NET...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\asp.net
        Delphi...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\Delphi
        Javascript...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\Javascript
        VB...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\vb
        Authentication...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Samples\Licensing\Authentication
        Android...\Documents and Settings\[user_name]\My Documents\SafeNet\SuperDog [version]\Android\API\Licensing\C\armeabi

        超級狗(SuperDog)Licensing API 庫文件命名

        以下是超級狗(SuperDog)Licensing API 庫的名稱格式:

        dog_windows_[ 開發號].[ 庫擴展名]

        例如,dog_windows_demo.dll 是一個與超級狗(SuperDog)試用件關聯的動態鏈接庫,dog_windows_37517.dll 是一個與開發號為37517 的超級狗(SuperDog)關聯的動態鏈接庫。

         

        學習超級狗(SuperDog)Licensing API 示例

        通過學習超級狗(SuperDog)Licensing API 示例,軟件工程師可以了解Licensing API 軟件保護的工作方式及其能力范圍。

        Licensing API 示例

        超級狗(SuperDog)提供針對主流編程語言的Licensing API 示例。示例應用程序用于演示在源代碼中實施超級狗(SuperDog)Licensing API 的軟件保護。

        超級狗(SuperDog)安裝目錄下的Samples 文件夾包含Licensing API 和Encryption 示例應用程序。Encryption 目錄中包含了使用超級狗(SuperDog)API進行數據保護的示例。

        在演示這些示例應用程序時,必須將標有DEMOMA 的超級狗(SuperDog)試用件連接至計算機。


        注意:

        請參閱SafeNet/SuperDog 網站和超級狗(SuperDog)安裝光盤,獲取有關特定編程語言的示例的相關信息。


         

        超級狗(SuperDog)Licensing API 的函數

        以下介紹超級狗(SuperDog)Licensing API 的幾組函數,更詳細的說明,請閱附錄B 超級狗(SuperDog)Licensing API 參考。

        如何優化實施超級狗(SuperDog)Licensing API 保護,請參閱第64 頁的通用的保護策略。 有關超級狗(SuperDog)Licensing API 的示例應用程序,請參見Licensing API 示例。

         

        函數組

        以下分別介紹基于常見功能的五組超級狗(SuperDog)Licensing API 的函數。

          ·會話函數

          ·加密函數和解密函數

          ·存儲區函數

          ·時間函數

          ·管理函數

        ·會話函數

        調用dog_login() 或dog_login_scope() 對超級狗(SuperDog)中特定一個特征進行一次成功的登錄后,一個會話就創建了。 在結束會話時,調用注銷函數dog_logout(),關閉該會話。

        有關會話函數的更多信息,請參閱本章第35 頁的登錄選項。

        ·加密函數和解密函數

        超級狗(SuperDog)含有基于AES 的加密引擎,可對數據進行加密或解密。

        有關加密函數和解密函數的更多信息,請參閱:

          ·dog_encrypt()

          ·dog_decrypt()

        ·讀寫函數

        對重要信息的訪問控制是保護計劃中的一部分,利用超級狗(SuperDog)存儲區可以存儲軟件在運行時所需數據。

        超級狗(SuperDog)Licensing API 提供以下讀寫函數。

          ·使用dog_read() 可以讀取超級狗(SuperDog)存儲區中的數據文件。

          ·使用dog_write() 可以將數據寫入超級狗(SuperDog)存儲區中的讀寫類型或寫一次類型數據文件。

        ·時間函數

        時間函數組包括讀取超級狗(SuperDog)V-Clock 時間、以及兩個時間轉換函數。

        更多信息,請參閱:

          ·使用dog_get_time() 可以讀取超級狗(SuperDog)V-Clock 時間

          ·使用dog_datetime_to_dogtime() 將日期時間值轉換為超級狗(SuperDog)時間

          ·使用dog_dogtime_to_datetime() 將超級狗(SuperDog)時間值轉換為日期時間值(UTC)

        ·管理函數

        使用管理函數可以獲取超級狗(SuperDog)信息、獲取會話信息、對超級狗(SuperDog)進行升級。

        更多信息,請參閱:

          ·使用dog_get_info() 獲取超級狗(SuperDog)信息

          ·使用dog_get_sessioninfo() 獲取會話信息

          ·使用dog_update() 對超級狗(SuperDog)進行升級

         

        實施超級狗(SuperDog)Licensing API 保護

        以下說明實施超級狗(SuperDog)Licensing API 保護前應該考慮的問題,講解實施Licensing API 的工作流程。

        需求規劃

        在考慮實施超級狗(SuperDog)Licensing API 時,軟件工程師應當考慮以下幾個初步問題。

        ·要保護什么?

        這看似顯而易見,在確定在源代碼的哪些點調用LicensingAPI 函數時,它卻是關鍵。通常,在啟動被保護軟件時,您將要驗證超級狗(SuperDog)是否存在。您還可以使用不同的特征來保護軟件的多個功能組件,這需要先確定要保護哪些功能組件。


        注意:

        通過特征ID 參數可以實現對不同特征( 功能組件) 的登錄。關于更多信息,請參閱dog_login()、dog_login_scope()。


         

        ·實施計劃中能否含有加密數據?

        實施計劃中可以含有加密數據。如果您打算在軟件運行的時候使用加密數據,那么您可以先使用超級狗(SuperDog)Licensing API 的加密函數對數據進行加密,然后在軟件中調用解密函數的地方插入已加密的數據。 在軟件運行時,加密的數據將由超級狗(SuperDog)解密。

        您可以使用超級狗(SuperDog)加密助手快捷地完成數據加密的操作,然后參考該工具的示例工程來使用加密數據。(工程默認路徑為:...\ProgramFiles\SafeNet\SuperDog\[version]\Samples\Encryption\[language type])。

        ·數據能否被存儲在超級狗(SuperDog)的存儲區中?

        超級狗(SuperDog)數據存儲區中的只讀類型,讀寫類型和寫一次類型數據文件都可以存儲數據。您可以將應用程序的重要數據存儲于只讀類型的數據文件。在軟件運行時,調用超級狗(SuperDog)Licensing API 提供的dog_read() 函數讀出存儲的數據。

        ·如何使用寫一次類型數據文件?

        您可以將某些只需要修改一次的信息存儲于寫一次類型數據文件中。例如:軟件注冊的用戶名,與硬件綁定的相關信息等。在軟件運行時,調用超級狗(SuperDog)Licensing API 提供的dog_read() 函數讀出存儲的數據。


        工作流程

        以下是推薦的實施超級狗(SuperDog)Licensing API 保護的工作流程:

        1. 學習與您開發環境相應的示例應用程序的代碼。

        2. 在您的應用程序源代碼中,插入登錄函數dog_login() 或dog_login_scope(),登錄成功即建立會話。登錄會話擁有其唯一的句柄標識符。


        注意:

        會話的句柄標識符是自動生成的,應用于單個登錄會話。如需更多信息,請參閱dog_login()、dog_login_scope()。


        3. 成功建立一個登錄會話后,您可以調用超級狗(SuperDog)Licensing API 提供的其他函數,例如,使用解密函數dog_decrypt() 對重要數據進行解密,也可以使用函數dog_read() 讀取儲存在超級狗(SuperDog)存儲區中的數據等。

        4. 使用第3 步中生成的輸出結果,檢查潛在的不匹配, 針對不匹配對最終用戶做出相應通知。

        5. 對不同的功能組件重復第2 至4 步,完成對不同軟件組件的保護。

        6. 編譯源代碼。


        注意:

        完成源代碼的編譯后,使用超級狗(SuperDog)的外殼加密工具為軟件再添加一層保護,可以防止破解者對被保護的代碼執行逆向工程。


         

        登錄函數

        調用登錄函數dog_login() 和dog_login_scope() 是通往實施超級狗(SuperDog)Licensing API 保護的大門。要搜索超級狗(SuperDog)并與超級狗(SuperDog)通訊, 就必須先建立登錄會話。建立登錄會話時,需要特征ID 和有效的開發商代碼。 如登錄未搜索到超級狗(SuperDog),系統就會顯示錯誤消息,如發現聲明的開發商代碼與被搜索到的超級狗(SuperDog)不匹配,也會顯示錯誤信息。


        登錄操作

        登錄選項

        特征ID 用于標識“ 特征”。為聲明要登錄到超級狗(SuperDog)中的特定特征,調用登錄函數時必須指定特征ID 參數。

        ·特征ID

        “ 特征” 是本產品的重要概念,關于特征的詳細信息,請參閱第45 頁的特征。

        當登錄到特定特征時,被保護軟件不僅檢查超級狗(SuperDog)是否存在,還會檢查超級狗(SuperDog)中對該特征的許可,如果許可有效,才能使用該軟件。當登錄默認( 特征ID 為0) 時,API 僅搜索超級狗(SuperDog)而忽略檢查許可。


        注意:

        每個登錄會話都必須調用相應的注銷函數來終止。 更多信息,請參閱dog_login()、dog_login_scope()、以及dog_logout()。


         

        使用超級狗(SuperDog)API 保護安卓平臺應用程序

        使用超級狗(SuperDog)Java API,可以保護安卓平臺(ARM 架構) 開發的應用程序。想要知道如何保護安卓平臺應用程序的更多信息,請參閱《超級狗(SuperDog)【版本】安卓開發商指南》。

        測試版本

        已測試過安卓系統版本:

          ·Android 4.1.1

          ·Android 4.2.2

          ·Android 4.3

          ·Android 4.4.2

        使用需求

        使用本軟件包之前需要安裝:

        1.Android 開發環境 ADT bundle

        2.Android NDK (如果您需要重新編譯Java JNI 庫)

        如何編譯/ 使用示例程序

        請按照如下步驟使用示例目錄:

        1. 打開Android 開發環境 ADT 里的EcliPSE ;

        2. 導入工程SuperDogDemo ;

        3. 編譯工程;

        4. 將生成的apk 上傳到安卓設備并安裝應用。

        如果您使用超級狗(SuperDog)硬件:

        1. 請使用OTG 連接線將超級狗(SuperDog)連接至安卓設備;

        2. 打開應用程序SuperDogDemo ;

        3. 安卓設備顯示提示信息,“ 允許應用SuperDogDemo 訪問該USB設備嗎? ”,點擊“ 確定” 按鈕;

        4. 點擊“Demo” 按鈕運行調用API 的示例,將顯示調用API 的信息。

        如果您使用超級狗(SuperDog)軟許可:

        1. 打開應用程序SuperDogDemo,點擊GetFP 按鈕將獲取安卓設備指紋并存儲到SD 卡根目錄:fingerprint.c2v ;

        2. 復制fingerprint.c2v 到Windows 系統;

        3. 運行許可設計工具,添加產品和特征,請不要添加數據文件。點擊生成SL 按鈕;

          a. 指定指紋文件fingerprint.c2v

          b. 指定SL 存放目錄

          c. 按確定將生成超級狗(SuperDog)SL:update.v2c

        4. 將update.v2c,拷貝到安卓設備SD 卡根目錄;

        5. 在安卓設備上再次運行SuperDogDemo 應用,點擊update 按鈕將從SD 卡根目錄讀?。酰穑洌幔簦?v2c 并安裝SL ;

        6. 安裝SL 成功后,點擊Demo 將說明對超級狗(SuperDog)SL 的操作。


        注意:

        1. 超級狗(SuperDog)Java API 的包名稱為 com.SuperDog。

        2. 當登錄默認特征( 特征ID 為0) 時,API 僅搜索超級狗(SuperDog)而忽略檢查許可。


         

        在安卓平臺的工程中使用SuperDog API

        請將下列文件加入到您的工程:

        1. SuperDogDemo\src\com\SuperDog\Dog.java

        2. SuperDogDemo\src\com\SuperDog\DogApiVersion.java

        3. SuperDogDemo\src\com\SuperDog\DogTime.java

        4. SuperDogDemo\src\com\SuperDog\DogStatus.java

        5. SuperDogDemo\src\com\SuperDog\DogUsbHandler.java

        6. SuperDogDemo\libs\armeabi\libDogJava.so

        7. SuperDogDemo\libs\armeabi\libdog_android_[ 開發號].so


        注意:

        ·使用前需要先用開發商向導下載您的Android API,從目錄...\Documents and Settings\[user_name]\MyDocuments\SafeNet\SuperDog[version]\Android\API\Licensing\C\armeabi 中將libdog_android_[ 開發號].so 拷貝至目錄SuperDogDemo/libs/armeabi 中。

        ·關于如何調用超級狗(SuperDog) Java API,請參考文件SuperDogDemo\src\com\SuperDogDemo\SuperDogDemo.java。

        ·請在您的應用中添加下列語句加載超級狗(SuperDog)Java JNI 庫:
        System.loadLibrary("DogJava")。

        ·如果您使用超級狗(SuperDog)硬件,請在您的應用中添加下列語句加載您的Android API:System.loadLibrary("dog_android_[ 開發號]")。

        ·如果您使用超級狗(SuperDog)硬件,在您的應用的運行過程中想要獲取操作當前連接的超級狗(SuperDog)的權限,可以調用DogUsbHandler 中的getPermission 方法。

        ·在您的應用的AndroidManifest.xml 文件中添加下列語句:
        。

        ·如果您使用超級狗(SuperDog)硬件, 在您的應用的AndroidManifest.xml 文件中添加下列語句:
        。


         

        如何編譯Java JNI 庫

        編譯Java JNI 庫之前需要安裝并配置 Android NDK。

        使用開發商向導下載您的Android 的API 庫,從目錄...\Documentsand Settings\[user_name]\My Documents\SafeNet\SuperDog[version]\Android\API\Licensing\C\armeabi 中將libdog_android_[ 開發號].so 拷貝至目錄SuperDogDemo/jni 中。

        修改文件:SuperDogDemo/jni/Android.mk 其中API 庫名稱指向您的安卓API 庫。

        返回上級目錄SuperDogDemo,運行 NDK 的命令ndk-build。

        編譯好的Java JNI 庫在目錄SuperDogDemo\libs\armeabi 中。

         

        使用超級狗(SuperDog)加密助手

        超級狗(SuperDog)加密助手用于簡化超級狗(SuperDog)Licensing API 保護的步驟。開發商僅需將工具生成的源文件包含到自己的代碼工程中,添加簡單的調用代碼就可實現超級狗(SuperDog)Licensing API 保護。

        以下說明使用超級狗(SuperDog)加密助手的步驟。如需更多的信息,請參閱超級狗(SuperDog)加密助手的幫助文檔。

         

        準備步驟

        1. 將開發狗和超級狗(SuperDog)連接至計算機。

        2. 運行超級狗(SuperDog)加密助手,在菜單欄中選擇工具 > 設置,然后選擇使用正式開發號。


        注意:

        如果首次使用超級狗(SuperDog)加密助手,需要先運行開發商向導以下載最新的API 庫。


         

        加密關鍵數據

        1. 在超級狗(SuperDog)加密助手主界面選擇:數據加密選項卡。

        2. 選擇編程語言,特征ID,以及加密的數據類型。

        3. 如選擇加密字符串或原始數據,請在主界面上邊空白編輯框中輸入字符,也可點擊右邊 Hex 輸入按鈕切換到 Hex 輸入模式。

        4. 指定數據長度,并輸入數據。

        5. 要使用一個已存在的數據文件,單擊裝載按鈕可以將其導入。

        6. 文本輸入模式下的文本將以 UTF-8 編碼的形式進行加密,解密后的字符串需要從 UTF-8 編碼格式轉換為需要的編碼格式,可參考示例目錄(默認路徑為:...\ProgramFiles\SafeNet\SuperDog\[version]\Samples\Encryption)下的示例工程。

        7. 點擊加密數據按鈕,生成包含加密數據的源代碼。

        8. 點擊保存按鈕,可保存生成的源代碼為指定文件。

        9. 將生成的源文件包含到自己的工程中,在源代碼中使用超級狗(SuperDog)Licensing API 解密,然后使用解密后的數據進行各種運算??牲c擊打開示例文件夾鏈接參考示例工程(默認路徑為:...\ProgramFiles\SafeNet\SuperDog\[version]\Samples\Encryption\[language type])。

        10. 要加密數字類型數據,請選擇加密類型為:常量。選擇編程語言,特征 ID,數據類型,輸入常量數據。然后重復步驟 7—9。

         

        驗證程序是否已授權

        1. 在超級狗(SuperDog)加密助手主界面選擇:生成加密數組選項卡。

        2. 選擇編程語言,特征ID,數據長度和數組長度。

        3. 點擊生成加密數組按鈕,隨機生成包含明文與密文的數組。

        4. 點擊保存按鈕,可保存生成的源代碼為指定文件。

        5. 將生成的源文件包含到自己的工程中,可在程序中定時(例如 2分鐘)隨機的訪問數組中一行數據的明文,然后使用超級狗(SuperDog)Licensing API 進行加密。將加密后的數據與數組中對應的密文數據進行比較,如果不相等,則判斷用戶使用了未授權的軟件??牲c擊打開示例文件夾鏈接參考示例工程 (默認路徑為:...\ProgramFiles\SafeNet\SuperDog\[version]\Samples\Encryption\[language type])。


        注意:

        超級狗(SuperDog)出廠時內置默認的特征(ID 為 0)。如果您選擇了其他特征,需要確保該特征在超級狗(SuperDog)中存在。請使用許可設計工具進行許可設計,并使用超級狗(SuperDog)編程工具對超級狗(SuperDog)編程。


        攬閣信息可提供的部分安全產品和解決方案信息

        聯系攬閣信息,您可以獲取到更多滿足全球合規性要求的信息安全產品資料,以及相關的整體解決方案的相關資料。如:


        您還可以得到攬閣信息所提供的優質服務。

        攬閣信息 · 值得您信賴的信息安全顧問!


        相關閱讀

        購買咨詢電話
        021-54410609
        曰韩免费无码AV一区二区,男女啪啪高清无遮挡免费,精品国产自在精品国产精