我正在使用 CommonCrypto 库为 iPhone 应用程序加密数据。数据是应用程序本地的。加密密钥使用 NSString 硬编码在代码中。
我想知道是否有办法从应用程序可执行文件中访问这个 NSString 的值。我知道代码将是可执行形式,但最后一个 NSString 必须将该值以纯文本形式存储在应用程序的某处。例如,使用 iExplorer 访问应用程序文件夹将提供对可执行文件的完全访问权限。
我正在使用 CommonCrypto 库为 iPhone 应用程序加密数据。数据是应用程序本地的。加密密钥使用 NSString 硬编码在代码中。
我想知道是否有办法从应用程序可执行文件中访问这个 NSString 的值。我知道代码将是可执行形式,但最后一个 NSString 必须将该值以纯文本形式存储在应用程序的某处。例如,使用 iExplorer 访问应用程序文件夹将提供对可执行文件的完全访问权限。
假设应用程序是从应用商店下载到设备上的......
strings
等都会起作用。IDA Pro或Hopper将反汇编二进制文件,不仅显示二进制文件中的 C 字符串,还显示访问它的代码。从二进制文件中提取 C 字符串是任何攻击者首先要做的事情之一。不建议将敏感信息存储在二进制文件中,例如加密密钥。不幸的是,没有很多安全的方法可以为客户端获取加密密钥。评估不同方法的风险,并确定您可以接受的暴露水平。