在我的應用程序的Objective-C的反編譯保護我存儲密鑰加密和解密數據,它被存儲爲一個字符串定義字符串值
#define ClientSecret @"123456"
當應用程序反編譯此值可輕鬆到達.. 。如何最好地保護它?
該值不需要是一個定義...是否有一些建議的方法來確保這些值的安全性,這些值難以排列在代碼中?
這個問題是雙方的iOS和OSX
在我的應用程序的Objective-C的反編譯保護我存儲密鑰加密和解密數據,它被存儲爲一個字符串定義字符串值
#define ClientSecret @"123456"
當應用程序反編譯此值可輕鬆到達.. 。如何最好地保護它?
該值不需要是一個定義...是否有一些建議的方法來確保這些值的安全性,這些值難以排列在代碼中?
這個問題是雙方的iOS和OSX
UAObfuscatedString可以幫助掩蓋你的鑰匙。但在某些時候,祕密價值必須可用。例如。如果你的祕密是一個API密鑰,它將不得不被傳遞給該API,並且有人可以在API調用上設置一個斷點並在那裏讀取該值。
我改變了我認爲你可能打算的鏈接,雖然你可以仔細檢查... – NSGod
我會提防UAObfuscated字符串,它是開源惡意用戶可以找到UAObfuscatedString的代碼在每個方法中放置斷點並查看調用順序。我會檢查這個: http://www.splinter.com.au/2014/09/16/storing-secret-keys/ –
這是與Objective-C相關的,而不是.Net –
這兩個都不是可能的重複。這是C++。此外,答案中討論的概念,特別是第二個,適用於_all_可執行文件,無論它們是以何種語言編寫的。 – dandan78
但我想要一個與Objective-C相關的答案,如提供的mortgy,而不是一般的說話 –