2013-09-26 75 views
6

使用cycript技术,所有iOS应用程序都能够调试并能够访问应用程序内部的变量和方法。使用cycript保护iOS应用程序

也可以覆盖运行时变量和方法。

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

回答

1

通过cycript技术,所有iOS应用程序都能够调试并能够访问应用程序内的变量和方法。也可以覆盖运行时变量和方法。

YESCycript(易)/ MobileSubstrate有(中间)/ GDB针对iOS(更先进的)允许你修改运行环境(即方法/对象/ i.variables)和做更多。

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

没有100%安全的方法。正如有人说,一旦你不能阻止每一个黑客,但你可以放慢速度,并阻止其中大部分。然后,如果您保护您的应用程序免受某些类型的攻击,则您的应用程序将在未被黑客攻击的情况下持续多久。

对于iOS开发,有一点要记住:的Objective-C(和SWIFT)使得它可以很方便黑客操纵运行并做静态分析。简而言之:这是由于这些语言在二进制文件中编译和组织的方式。

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

实际上,如果你使用的跨平台工具来开发应用程序(如的Cocos2D,团结,...你可能对这种基于调试器的攻击被保护(如Cycript,GDB),因为大多数的这些跨平台开发工具仅在应用程序启动时的第一步中使用Objective-C/Swift,并且它们以您开发的任何语言(例如C++ for Cocos2d和Unity)编译您的应用程序逻辑。