我不明白黑客在進入移動應用時能看到什麼,也看不到,例如android。他反編譯.apk
,然後看到一些.class files
。例如,如果我在文件中加密一個鍵/值對,我仍然需要從代碼中調用該鍵,如果黑客可以看到代碼,無論密鑰是否加密,他都會知道我是哪個鍵打電話?在哪裏存儲我的密鑰以便在移動設備上加密數據?
我的目標是在我的應用程序中保留一些加密的字符串,例如我的應用程序的Twitter帳戶ID。 有些話題談論「一把私鑰讀取,什麼是用公鑰加密的」,但如果我使用它們,我仍然需要將它們存儲在我的應用程序的某處...
你是對的,因爲像twitter這樣的東西,需要訪問互聯網,我可以讓它到服務器。有一件事,我不明白:「隱藏你的數據/代碼」:他能讀取.class文件,並看到我們在保存某些特定數據之前調用特定且相同的密鑰?例如,我需要檢索級別密鑰,我應該怎麼做?例如,加密名稱「級別」,並用加密的「級別」名稱調用密鑰......他不能看到我加密了「級別」並查找了級別的加密密鑰嗎? – Paul
原則上,是的。如果「級別」的值在客戶端存儲或創建。訣竅是讓它不那麼明顯,價值不是水平。您可以使用Proguard進行代碼混淆。對於字符串,您可能需要嘗試其他人建議的方法。另外,您可以查看https://developers.google.com/games/services/android/antipiracy或https://developer.android.com/google/play/licensing/overview.html以嘗試確保客戶端未修改。 – nedR