2011-08-25 49 views
18

即將發佈我的應用程序的免費版本,我正在尋找free-mium模型來爲用戶提供額外的選項。然而,我絕對擔心它被盜版太快,我無法做任何事情。複製保護陷阱

有沒有人有Android的質量防拷貝技術?我不是在談論提供的pos LVL。我正在尋找一些偷偷摸摸的陷阱到檢測我的代碼是否被篡改。任何想法歡迎;必須對它們付出足夠的努力,以至於它不值得。

回答

16

它只會被盜版,如果它很受歡迎,所以你有很長的路要走:)。通常,混淆你的代碼,不要使用LVL,因爲有些工具會自動禁用它。不知道你對'偷偷摸摸的陷阱'的想法是什麼,但看看this瞭解如何保護你的應用程序的一些想法。

那些在視頻中提到,但:

  • 使用ProGuard的混淆你的代碼
  • 如果你的代碼已被更改爲檢測,可以檢查classes.dex的CRC或檢查APK已經用您的證書籤名(如果有人更改您的代碼,他們將不得不辭職)。但是,antilvl工具可以有效地禁用您用來檢查篡改的API。所以你需要用本機代碼來實現它,如果你希望它有效的話。
  • 不要在啓動時進行檢查,但稍後再檢查時就不容易了。
  • 如果可能,請在您的許可/篡改檢查中使用服務器端組件。想想如果沒有網絡連接,你的應用應該如何表現。緩存服務器響應?多長時間?拒絕訪問嗎?允許訪問總是?等
+0

+1 on the vid。但我的意思是偷偷摸摸的只是隱藏你用來檢查一些難以讀取java的代碼。或者,如果您的代碼被發現被篡改爲 –

6

你可以在eclipse中使用ProGuard來混淆你的代碼。它通過刪除未使用的代碼並使用語義上不明確的名稱重命名類,字段和方法來優化和混淆代碼。結果是一個更小的.apk文件,更難以進行逆向工程。這樣你的代碼將更具防篡改性。

參考:developer.android

7

保護總是可以被打破,所有你能做的就是讓它更難破解。 你可能會做的事情是用C語言編寫代碼的一些重要部分,並通過NDK調用它。然後你可以在那裏做一些測試,因爲反編譯C部分將比反編譯字節碼困難得多。

+3

的權利,可能會在延遲後開啓廣告。 java絕對是這個錯誤的語言,因爲它可以通過設計進行內省。 –