使用cycript技术,所有iOS应用程序都能够调试并能够访问应用程序内部的变量和方法.
并且还可以覆盖运行时变量和方法.
有没有办法保护应用程序访问这些实例,以避免黑客访问高安全值?
借助cycript技术,所有iOS应用程序都能够调试并能够访问应用程序内部的变量和方法。并且还可以覆盖运行时变量和方法。
YES Cycript(简单)/ MobileSubstrate(中级)/ GDB for iOS(更高级)允许您修改运行时环境(即方法/对象/i.variables)并执行更多操作。
有什么方法可以保护应用程序访问这些实例,以避免黑客访问高安全值?
没有100%安全的方法。正如有人曾经说过的,你无法阻止所有黑客,但你可以放慢速度并阻止大多数黑客。然后,如果您保护您的应用程序免受某些类型的攻击,您的应用程序将在不被黑客攻击的情况下存活更长时间。
对于 iOS 开发,需要记住一件事:Objective-C(和 Swift)使黑客非常容易 操纵运行时并进行静态分析。简而言之:这是由于这些语言在二进制文件中编译和组织的方式所致。
由于这是语言的原因,您可以使用其他语言来避免这种情况!这就是为什么对于处理敏感信息的安全相关代码,建议使用 C/C++ 等其他语言而不是 Objective-C/Swift。例如,Cycript 无法访问 C/C++ 代码,因此无法修改用这些语言编码的环境。
实际上,如果您使用跨平台工具来开发应用程序(例如Cocos2d、Unity 等),您可能会免受此类基于调试器的攻击(例如 Cycript、GDB),因为大多数这些跨平台开发工具仅使用Objective-C / Swift 是应用程序启动时的第一步,它们会用您开发的任何语言编译您的应用程序逻辑(例如,用于 Cocos2d 和 Unity 的 C++)。
| 归档时间: |
|
| 查看次数: |
533 次 |
| 最近记录: |