Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android手機 >> Android刷機教程 >> 安卓刷機技巧 >> 防止非法拷貝 給自己的軟件上把鎖

防止非法拷貝 給自己的軟件上把鎖

編輯:安卓刷機技巧

  下面的部分是對官方的技術文檔“Licensing Your Applications”一些重要內容的摘要,希望有助於已經或者正在開發 Android 收費應用的開發者更清晰了解該服務並使用它來為自己的應用提供防拷貝保護。

  • 要使用該許可認證服務,你必須是菜市場的注冊開發者,而且你的收費應用也必須通過菜市場提供。(呵,這也是 Google 打擊其它各式各樣的山寨安卓市場的重要手段啊,一旦它們無法提供破解的收費應用,並因為缺少像 Google 這樣的防拷貝機制,也很難吸引到收費應用的開發者進駐,只能提供一些簡單的免費應用的話,對用戶的吸引力自然大大減少)。

  Android Market Licensing Service

  • 並且運行的設備上必須安裝了 Market App,因為3rd App 不能直接跟 Google 的驗證服務器通信,而必須通過 Market App 進行。當然,要從菜市場購買 Apps,Market App 本來就是必不可少的。Maket App 會自動獲取你的 App 的 ID 和當前用戶的帳號數據並把它們打包傳送到服務器上進行驗證。並把驗證的結果返回給你的 App。此外對 Android OS 的版本要求是1.5以上。除了以上兩點,任意類型的 App 可以在任意設備上使用該服務

  LVL

  • Google 提供了 LVL (License Verify Library 許可驗證庫)來幫助你處理如何向 Market App 發起許可驗證的請求,並把服務器回應的數據通過你注冊的回調函數返回給你的 Activity。(LVL 可以通過 Android SDK and AVD Manager 下載)

  public key

  • Google 的許可驗證服務器返回的驗證結果是加密的,以防止第三方偽造驗證結果。加密所用的公鑰可以在你的注冊開發者帳號管理裡面申請。你需要把申請的公鑰傳給 LVL 相應的接口,LVL 會自動使用該公鑰去解密驗證結果,並把結果的明文返回給你的 Activity。

  • 驗證失敗的情況下要如何處理,施加那些約束或者是否直接退出由開發者自行決定。你可以根據應用的類型,面向的用戶等來決定。

  • LVL 提供了 Policy 接口和內置的 ServerManagedPolicy 實現(Google 強烈推薦使用該內置實現)來幫助處理無法聯網驗證失敗下的狀況。ServerManagedPolicy 會緩存驗證結果到本地文件,並設置一定的有效期限,這樣就可以避免每次查詢都需要鏈接服務器。

  ...

  // Construct the LicenseChecker with a Policy.

  mChecker = new LicenseChecker(

  this, new ServerManagedPolicy(this,

  new AESObfuscator(SALT, getPackageName(), deviceId)),

  BASE64_PUBLIC_KEY // Your public licensing key.

  );

  ...

  • 被緩存到本地的驗證結果可以通過LVL提供的一個Obfuscator 接口進行混淆加密,LVL 內置提供了一個 AESObfuscator 實現,AES公鑰可以通過預設的種子,應用 ID和設備ID產生,要破解緩存的驗證結果也將會非常困難。

  • Google 建議你對你的收費應用程序也使用混淆器如 ProGuard 做代碼混淆,避免被人直接破解程序(比如修改驗證的代碼)。

  • Google 提供了完善的測試環境,允許你事先測試驗證成功,驗證失敗等各種狀況。

  • 如果已經使用了該許可驗證服務,在發布應用時,就不要再設置防拷貝選項(In the Publishing options section, make sure that the Copy Protection radio button selection is “Off”)。

  當前在 Android 生態系統中,獲得最大收益的還是設備供應商,或者電信運營商,而作為在這個系統中扮演最重要角色的開發社區,它們所能得到的回報還是十分可憐,而 Google 為開發者提供的許可驗證服務將有助於改善這一點。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved