0
我創建一個Android應用,該應用通過API連接到服務器。我擔心安全問題,就我而言,任何人都可以反編譯.apk
並查看或修改您的代碼。如何隱藏API密鑰Android中
知道了,我在哪裏需要保存在應用程序中的API密鑰,以避免一些壞人偷和訪問服務器,例如,修改我的數據庫?
感謝
我創建一個Android應用,該應用通過API連接到服務器。我擔心安全問題,就我而言,任何人都可以反編譯.apk
並查看或修改您的代碼。如何隱藏API密鑰Android中
知道了,我在哪裏需要保存在應用程序中的API密鑰,以避免一些壞人偷和訪問服務器,例如,修改我的數據庫?
感謝
瞭解攻擊者如何將您的應用程序後走,在此爲了95%的時間:
檢查您的應用程序,並通過使用攔截代理像Burp服務器之間的通信 - 很容易做到。看看我是如何在朋友言語上做的here(這是iOS設備,但是與Android相同的概念)。
您可以停止使用certificate pinning進行流量檢查,但他們可以通過設備生成並在Android上使用一些黑客工具來破解流量檢查。所以你需要Android root detection。
對方攻擊正在掃描你的二進制文件。您需要使用DexGuard等工具對其進行混淆處理。
這些方法都不是防彈:通常試圖隱藏客戶端代碼中祕密是losing game。不要付出更多的努力,而不是值得。
那麼,哪裏是存儲的API密鑰連接到服務器的共同的地方? – Lopan
@Lopan您可以在應用程序中對其進行硬編碼,但您需要對代碼進行混淆處理,執行證書確認並檢測生根是否有機會。然而,更好的設計不會取決於客戶端的祕密,這是一場失敗的比賽。 – TheGreatContini
感謝您的幫助,您是否知道如何爲Android應用程序正確設置REST API的一些資源或書籍?對不起,如果我的問題對你感到愚蠢。 – Lopan