2013-10-08 104 views
1

通常可以將Android應用程序的.apk文件安裝到設備中。但是我可以找到一些應用程序,這些應用程序可以避免使用他們的.apk文件。從安裝的Android應用程序中禁用apk文件

由於它也可以從.apk文件中提取代碼,我認爲開發人員的代碼並不安全。任何人都可以告訴我如何防止第三方採取Android應用程序的.apk文件?

在此先感謝.. :)

回答

0

至於沒有采取APK的可能性,我不認爲你可以真正阻止它,因爲最終它只是位於內部存儲某處的文件。只要用戶有足夠的權限,他就可以提取它。

保護代碼。有幾個級別的保護,但最終,你不能阻止它 如果你什麼也不做,代碼的逆向工程是非常簡單的。 有幾種工具可以獲得某種程度的安全性。 例如,ProGuard是大多數Android IDE中已內置的Google工具。

一個優秀的SO張貼代碼保護: How to avoid reverse engineering of an APK file?

+0

感謝您的回覆Lior Ohana。但我可以找到一些處於鎖定狀態的應用程序。例如Instagram,Skype,Viber等。不可能對這些應用程序進行備份。我怎樣才能實現這種鎖定? – Anu

+0

NP。我知道某些應用程序不允許用於某些備份/導出應用程序。我的意思是,最終,在根植設備上,您可以打開一個shell控制檯並抓取APK。 如果您所談論的只是對您描述的應用程序提供最低程度的保護而非可能。如果我能找到任何東西,我會做一些調查和更新。 –

0

我研究這個問題,我想我會在這裏更新。建議爲您設置這個在您的Android清單文件的安全性方面的原因:

android:allowBackup="false"

所以,如果有人試圖做一個全面的adb系統備份或使用它來備份你的應用程序尤其是它贏得了」進來備份,從而阻止他們從那裏提取apk。我測試了這一點,它的工作原理,即adb備份不允許備份我的示例應用程序。

然後,我安裝了一個應用程序備份應用程序(ES文件資源管理器),不幸的是,它允許我的樣例應用程序採用.apk備份,其中禁用了備份。這是一個無根的設備。這似乎表明,在清單中設置此屬性並不妨礙其他應用程序進行備份。

因此,有幾個選項左:

  1. 搭配使用ProGuard和其他最佳實踐,使其難以扭轉工程師您的應用程序。
  2. 使用Google Play提供的應用程序許可密鑰來避免應用程序的盜版。
+0

'android:allowBackups =「false」'不會阻止某人複製您的apk,它只會通過阻止用戶數據被備份而破壞用戶數據。 – pushcx

+0

'android:allowBackup'只是說Android來自動備份應用程序數據或不。請參閱此處瞭解更多信息:[https://developer.android.com/guide/topics/data/autobackup.html#EnablingAutoBackup](https://developer.android。com/guide/topics/data/autobackup.html#EnablingAutoBackup)@raghum – Hossein

相關問題