簡體   English   中英

請提出保護Android 1.6中應用程序文件的好方法?

[英]Please suggest a good way to protect application files in android 1.6?

我正在設計一個大型android應用程序,其中有XML存儲臨時數據,相機捕獲的圖像和其他細節。 這是保護他們免受電話或PC外部訪問的最佳方法。 XML可以被加密。 還有圖像,但是有時候需要經常訪問它們,並且加密/解密是非常繁重的操作。 XML加密是可管理的,但是圖像會導致內存問題。 是否有其他替代方法,在文件夾級別?

好的,因此“敵人”是惡意用戶嗎? 在這種情況下,您幾乎無能為力,尤其是在有根手機上。 本質上,由於您的應用程序是這里的來賓,因此您無法真正阻止主機將您踢出局。

但是,您可以采取一些措施來阻止他們這樣做。 您可以對XML和圖像進行加密,但是隨着Macarse提出,解密密鑰必須在apk本身上,或者如果您與服務器聯系以獲取解密密鑰,則高級攻擊者有可能會欺騙您的服務器不會請求的請求。不能與真實的關鍵請求區分開。 我不敢問服務器,這太麻煩了,收效甚微。

您可以做的另一件事是設計一種專有的圖像格式,然后沒有標准的圖像編輯工具可以編輯該圖像。 但是,高級攻擊者仍然可以對您的圖像格式進行反向工程,然后將轉換器寫入標准圖像格式。

您可以做的第三件事也是最現實的,就是不要將圖像存儲在手機上。 拍攝快照后,立即將其發送到服務器,因此您無需擔心安全保存圖像。 攻擊者仍可在發送數據時攔截網絡流量,或者他們可以篡改您的apk(!),以便該程序將圖像的副本保存到手機中。 您可能可以做一些自我認證的apk,但這通常比其價值要麻煩得多。

簡而言之,您對主機無能為力。 這完全取決於您保護的數據的價值,以及有人花費大量時間試圖破壞您的安全性以獲取獎勵的可能性。

我要說的是,僅使用本地存儲的解密密鑰對圖像進行加密,除非您有真正的理由懷疑有人會花時間對您的代碼進行反向工程。

與資產無關的事。

  • 如果您將內容存儲在res/raw ,則可以由普通電話上的其他應用程序讀取,但是可以在有根電話上讀取。
  • 如果您加密數據,則解密密鑰將在您的代碼中可用。 使用 apk和apktool容易獲得它。

也許您可以執行其中的一些操作,但也可以混淆代碼( Android開發人員指南推薦ProGuard )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM