2012-01-12 43 views
0

您好我正在爲android定製ROM,我將免費將一些付費市場應用程序放入ROM中。所以我試圖想出一種安全的方式來檢測ROM是否屬於我的內容,這樣人們就無法將我的應用程序取出並在其他ROM上使用它們而無需從市場購買。Android源代碼更改簽名

我知道的build.prop檢查是一種很流行的方式,但這並不是很安全,因爲您可以反編譯應用程序並獲取正在檢查的字符串,並將其添加到您的build.prop中只讀存儲器。

因此,我想出了一個隨機應用程序在ROM中籤名檢查的想法。這樣他們就需要知道它正在檢查什麼樣的隨機應用程序,簽名必須是我的。是否可以將源中使用的測試密鑰更改爲獨特的東西?或者是否有人對這個問題有更好的想法?我認爲對需要在ROM中的應用程序(如framework-res.apk)進行簽名檢查就足夠了,很難檢測到這是我反編譯時所需要的。

感謝您的幫助

回答

1

我認爲有3種方式,讓您的付費應用程序的安全:

  1. 常用的移動電話公司使用的平臺簽名(可在源代碼中找到)簽署預先安裝的應用程序,以便用戶無法以常用方式卸載系統應用程序,除非它們是根設備。

  2. 您可以在系統屬性中添加一些值,在您的應用程序的開始,您可以從系統數據庫中獲取值,並首先對值進行加密(如不能輕易解密的MD5),然後與你的MD5哈希寫在你的應用程序中。

  3. Android提供了一個名爲ProGuard的工具,它可以混淆您的代碼。

希望這能幫到你!

+0

好吧,這是一個ROM,這意味着它是一個根源設備,我使用bcrypt而不是md5哈希,因爲它更安全,並始終使用proguard – user577732 2012-01-13 02:22:28