ios - 使用 cycript 保护 iOS 应用程序

标签 ios security

通过cycript技术,所有的iOS应用程序都可以调试,并且可以访问应用程序内部的变量和方法。

而且还可以覆盖运行时变量和方法。

有什么方法可以保护应用程序访问这些实例以避免黑客访问高安全值?

最佳答案

With the cycript technology, all iOS application are able to debug and able to access variables and methods inside application. And also it is possible to overwrite the runtime variables and methods.

YES Cycript(简单)/MobileSubstrate(中级)/GDB for iOS(更高级)允许您可以修改运行时环境(即方法/对象/i.variables)并执行更多操作。

Is there any way to secure the application to accessing those instances to avoid hackers to access high secure values?

没有 100% 安全的方法。正如有人曾经说过的那样,您无法阻止所有黑客,但您可以放慢速度并阻止他们中的大多数。然后,如果您保护您的应用程序免受某些类型的攻击,您的应用程序将在不被黑客攻击的情况下存活更长时间。

对于 iOS 开发,要记住一件事:Objective-C(和 Swift)让黑客很容易操纵运行时并执行静态分析。简而言之:这是由于这些语言在二进制文件中的编译和组织方式所致。

既然是语言的缘故,你可以使用其他语言来避免这种情况!这就是为什么对于处理敏感信息的安全相关代码,建议使用其他语言(如 C/C++ 而不是 Objective-C/Swift)。例如,Cycript 无法访问 C/C++ 代码,因此无法修改以这些语言编写的环境。

实际上,如果您使用跨平台工具开发您的应用程序(如 Cocos2d、Unity、...),您可能会免受此类基于调试器的攻击(如 Cycript、GDB)因为大多数跨平台开发工具仅在应用程序启动时的第一步使用 Objective-C/Swift,并且它们会使用您开发的任何语言编译您的应用程序逻辑(例如 Cocos2d 的 C++ 和团结)。<​​/p>

关于ios - 使用 cycript 保护 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022459/

相关文章:

ios - 为什么我无法在 Xcode 的连接检查器中删除 UITableViewController 的 'view' 导出?

ios - 如何测试报刊亭新一期?

iphone - IOS 中的钥匙串(keychain)可以与 Windows 中的 DPAPI 进行比较吗?

php - 如何正确保护表单 - 平面文件数据库

android - 清理数据库

security - 网址过滤

security - 限制对 Elastic Beanstalk 的 HTTP 访问

ios - 我如何在 objective-c 的标签栏中设置角标(Badge)?

ios - 将动态创建的文件复制到内置的应用程序包中

ios - 强制移动用户使用 App,但在 App 中使用 Webview