簡體   English   中英

加密iOS應用二進制文件

[英]Encrypting iOS app binary file

我正在構建一個iOS應用程序,但是我的應用程序二進制文件顯示了我擁有的所有NSString。 有沒有辦法加密它? 我想從我的應用程序二進制文件中隱藏所有我的NSStrings。

您將無法以安全方式對應用程序二進制文件進行加密。 您至少需要將密鑰傳遞到應用程序捆綁包旁邊,以便操作系統能夠在運行應用程序之前對其進行加密。 而且,當您將密鑰傳遞到應用程序旁邊時,對您的應用程序感興趣的人也可以對其進行解密。 因此,加密整個二進制文件將毫無用處。


您是否在應用程序包中附帶密碼或API密鑰?

最好的辦法是重新設計您的應用程序,因此不需要這些東西。 您可以嘗試阻止用戶直接從二進制文件中讀取它們,但是他們始終可以獲取它們。 幾個非常聰明的人已經嘗試過並且失敗了,所以不要浪費時間嘗試變得更好。 因此,請勿運送密碼或API密鑰!


如果您仍想以二進制形式發送敏感數據:

您可以嘗試以下方法:

NSString *encryptedSensitiveString = @"mysensitivdatapreviosulyencpryted"; // <- this will be stored in your binary since it's a constant string

NSString *sensitiveString = [someHiddenKey decryptString:encryptedSensitiveString];
// Now you can use your sensitive string which is decrypted at runtime

如果您正在尋找用於Objective-C的加密庫,則可以使用基於OpenSSL的MIHCrypto框架

正如已經說過的那樣,動態構建或解密字符串是一種選擇。

另一個方法是使用第三方應用保護系統,例如Arxan 我從未親自使用過它,因此不能真正推薦它,但是它進行了各種混淆處理,以防止用戶窺視您的應用程序。

暫無
暫無

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

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