加密iOS应用程序二进制文件

加密iOS应用程序二进制文件,ios,xcode,security,Ios,Xcode,Security,我正在构建一个iOS应用程序,但我的应用程序二进制文件显示了我已创建的所有NSString。有办法加密吗? 我想从我的应用程序二进制文件中隐藏所有NSString。您将无法以安全的方式加密应用程序二进制文件。您至少需要在应用程序包旁边传递密钥,以便操作系统能够在运行应用程序之前对其进行加密。当您将密钥传递到应用程序旁边时,对您的应用程序感兴趣的人也可以对其进行解密。因此,加密整个二进制文件将是无用的 您的应用捆绑包是否附带密码或API密钥? 最好的办法是重新设计应用程序,这样就不需要这些东西了

我正在构建一个iOS应用程序,但我的应用程序二进制文件显示了我已创建的所有NSString。有办法加密吗?
我想从我的应用程序二进制文件中隐藏所有NSString。

您将无法以安全的方式加密应用程序二进制文件。您至少需要在应用程序包旁边传递密钥,以便操作系统能够在运行应用程序之前对其进行加密。当您将密钥传递到应用程序旁边时,对您的应用程序感兴趣的人也可以对其进行解密。因此,加密整个二进制文件将是无用的


您的应用捆绑包是否附带密码或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

NSString*encryptedSensitiveString=@“MySensitiveDataPreviosulyEncrypted”// 您将无法以安全的方式加密应用程序二进制文件。您至少需要在应用程序包旁边传递密钥,以便操作系统能够在运行应用程序之前对其进行加密。当您将密钥传递到应用程序旁边时,对您的应用程序感兴趣的人也可以对其进行解密。因此,加密整个二进制文件将是无用的


您的应用捆绑包是否附带密码或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

NSString*encryptedSensitiveString=@“MySensitiveDataPreviosulyEncrypted”// 您将无法以安全的方式加密应用程序二进制文件。您至少需要在应用程序包旁边传递密钥,以便操作系统能够在运行应用程序之前对其进行加密。当您将密钥传递到应用程序旁边时,对您的应用程序感兴趣的人也可以对其进行解密。因此,加密整个二进制文件将是无用的


您的应用捆绑包是否附带密码或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

NSString*encryptedSensitiveString=@“MySensitiveDataPreviosulyEncrypted”// 您将无法以安全的方式加密应用程序二进制文件。您至少需要在应用程序包旁边传递密钥,以便操作系统能够在运行应用程序之前对其进行加密。当您将密钥传递到应用程序旁边时,对您的应用程序感兴趣的人也可以对其进行解密。因此,加密整个二进制文件将是无用的


您的应用捆绑包是否附带密码或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

NSString*encryptedSensitiveString=@“MySensitiveDataPreviosulyEncrypted”// 正如有人已经说过的,动态构建或解密字符串是一种选择


另一种是使用第三方应用程序保护系统,如。我个人从未使用过它,因此不能真正推荐它,但它会进行各种模糊处理,以防止用户偷看你的应用程序。

正如有人所说,动态生成或解密字符串是一种选择


另一种是使用第三方应用程序保护系统,如。我个人从未使用过它,因此不能真正推荐它,但它会进行各种模糊处理,以防止用户偷看你的应用程序。

正如有人所说,动态生成或解密字符串是一种选择


另一种是使用第三方应用程序保护系统,如。我个人从未使用过它,因此不能真正推荐它,但它会进行各种模糊处理,以防止用户偷看你的应用程序。

正如有人所说,动态生成或解密字符串是一种选择


另一种是使用第三方应用程序保护系统,如。我个人从未使用过它,因此不能推荐它,但它会进行各种模糊处理,以防止用户偷看你的应用程序。

这里有一个选项:另一个选项:尝试使用十六进制文本和二进制编码,如果你想得到NSString,请反向操作?@user3638590查看我对有关值的答案的评论。这里有一个选项:另一个选项:尝试使用十六进制文本和二进制编码,然后反向操作到ge