Cycript 是一个基于控制台的应用程序,它是 Objective-C 和 JavaScript 的混合体。 Cycript 对于 iOS 应用程序的动态分析非常有用。
如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱设备上挂接应用程序?或者 Swift 是否像 iOS 上的“原生 C”代码一样安全?
我对 Cycript 不太熟悉,但对 Swift 编译器有一点了解。
Swift 代码将更能抵抗挂钩,但这不应该是完全不可能的。声明为 @objc 的 NSObject 子类和 Swift 类应该与 Objective-C 代码一样可访问。纯 Swift 代码,尤其是在优化构建中,将更难注入代码,因为它们通常是静态分派的,并且在许多情况下实际上会内联到调用代码中。
如果代码尚未内联,则可能可以修补内存中的函数本身以跳转到替代函数,但这并不像修改函数表那么容易。
在关键函数已内联的情况下,如果可以识别常见的代码模式,并且如果函数足够长,则可以在跳转到备用版本时进行修补,但是这实际上会变得非常困难。相当棘手。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)