2011-08-03 20 views

回答

11

License Verification Library (LVL)與您的需求類似。

許可服務是控制訪問您的應用程序的安全手段。當應用程序檢查許可狀態時,市場服務器使用與發佈者帳戶唯一關聯的密鑰對簽署許可狀態響應。您的應用程序將公鑰存儲在其已編譯的.apk文件中,並使用它來驗證許可狀態響應。

您通過Android Market發佈的任何應用程序都可以使用Android Market許可服務。沒有特別的帳戶或註冊是必要的。此外,由於該服務不使用專用框架API,因此您可以將許可添加到任何使用最低API級別3或更高級別的傳統應用程序。

爲了幫助您將許可添加到應用程序,Android SDK提供了可以包含在應用程序項目中的庫源。許可證驗證庫(LVL)處理所有與Android Market客戶端和許可服務有關的許可相關通信。通過集成LVL,您的應用程序可以通過簡單地調用庫檢查器方法並實現接收狀態的回調來確定當前用戶的許可狀態。

This document解釋了許可服務如何工作以及如何將其添加到您的應用程序。

here就是一個例子。

參照here

+0

看看我對第二回答的評論。謝謝。 – Talha

4

如果是盜版,您的意思是應用程序從合法購買並複製到其他設備並運行的設備上取下,然後是,許可證驗證庫會檢測到它並調用您的代碼進行處理。

不幸的是,盜版網站和對等網絡站點上可用的大多數盜版應用程序已被反編譯,刪除了許可證檢查並重新編譯並使用不同的證書進行數字簽名,因此LVL是無用的。如果是這樣,就像我的付費應用程序一樣,沒有檢測到,坦率地說,你無能爲力。 Google爲我們提供了一個平臺,使得其他人可以輕鬆竊取您的知識產權。事實上,這很容易,大部分盜竊現在都是自動化的。這是一個痛苦的藥丸,直到谷歌做了一些事情,它會繼續發生。 Dalvik Dex代碼可以反編輯,重新編譯並由其他人進行數字簽名。在任何形式或形式上都不安全。

+0

所以,你的意思是我所有的1年努力去設計構建測試一個應用程序,我的整個(某種)創業想法所依賴的應用程序將公開,而不僅僅是源代碼,xml,資產?因爲如果dex反編譯爲jar,那麼jar也可以反編譯成class文件。糾正我,如果我錯了。我在調試應用程序上測試了這種反編譯,使用了一些[免費工具/教程](http://stackoverflow.com/questions/1249973/decompiling-dex-into-java-sourcecode)。由於sha-1加密,我認爲已簽名的apk無法提取。 – Talha

+2

@Talha是的,他是對的。可以反編譯任何證書(調試/發佈)簽名的應用程序。爲了解決這個問題,請在服務器上存儲簽名並驗證啓動時應用程序的簽名這樣你可以阻止訪問。 –

+0

你的意思是我自己的服務器?是的,這是有道理的,但我不明白爲什麼地球上最大的平臺經銷商不能建立一個安全協議,以保持產品(應用程序)的安全。 – Talha

相關問題