use*_*460 5 security hook cydia-substrate cycript swift
Cycript是一个基于控制台的应用程序,它是Objective-C和JavaScript的混合体.Cycript对于iOS应用程序的动态分析非常有用.
如果您使用Swift编写任何方法或完整的ipa,是否仍然可以将应用程序挂钩到越狱设备上?或者Swift像iOS上的"原生C"代码一样安全吗?
我对 Cycript 不太熟悉,但对 Swift 编译器有一点了解。
Swift 代码将更能抵抗挂钩,但这不应该是完全不可能的。声明为 @objc 的 NSObject 子类和 Swift 类应该与 Objective-C 代码一样可访问。纯 Swift 代码,尤其是在优化构建中,将更难注入代码,因为它们通常是静态分派的,并且在许多情况下实际上会内联到调用代码中。
如果代码尚未内联,则可能可以修补内存中的函数本身以跳转到替代函数,但这并不像修改函数表那么容易。
在关键函数已内联的情况下,如果可以识别常见的代码模式,并且如果函数足够长,则可以在跳转到备用版本时进行修补,但是这实际上会变得非常困难。相当棘手。