[英]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.