Swift 能抵抗 hooking 吗?

2024-03-08

Cycript 是一个基于控制台的应用程序,它是 Objective-C 和 JavaScript 的混合体。 Cycript 对于 iOS 应用程序的动态分析非常有用。

如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱设备上挂接应用程序?或者 Swift 是否像 iOS 上的“原生 C”代码一样安全?


我对 Cycript 不太熟悉,但对 Swift 编译器有一点了解。

Swift 代码将更能抵抗挂钩,但这不应该是完全不可能的。声明为 @objc 的 NSObject 子类和 Swift 类应该与 Objective-C 代码一样可访问。纯 Swift 代码,尤其是在优化构建中,将更难注入代码,因为它们通常是静态分派的,并且在许多情况下实际上会内联到调用代码中。

如果代码尚未内联,则可能可以修补内存中的函数本身以跳转到替代函数,但这并不像修改函数表那么容易。

在关键函数已内联的情况下,如果可以识别常见的代码模式,并且如果函数足够长,则可以在跳转到备用版本时进行修补,但是这实际上会变得非常困难。相当棘手。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 能抵抗 hooking 吗? 的相关文章

随机推荐

  • 最好的 GRID 和 TREE 控件是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Angular 中重置 this.dataSource.filterPredicate

    我正在使用过滤器和选择mat table 为了使用 select 进行过滤 我在相关字段上使用过滤谓词 public applyFilter filterValue string this dataSource filterPredicat
  • 以 dplyr 为单位的滚动总和

    set seed 123 df lt data frame x sample 1 10 20 replace T id rep 1 2 each 10 对于每个id 我想创建一个列 其中包含前 5 个的总和x价值观 df gt group
  • 将子类化的 UIView 添加到具有自动布局约束的 Nib

    我正在尝试创建一个 UIView A 其中包含 2 个自定义视图 B 视图 B 使用自动布局约束进行设置 并在 Interface Builder 中制作 包括约束 在viewController的Nib中添加A 乙 UIImageView
  • Stripe Connect:根据“连接”(独立)帐户向现有客户收费

    如果尝试向客户记录 具有关联的信用卡 收费via a 关联账户 https stripe com docs connect 我收到一条错误消息 声称 没有这样的客户 cus xxxx 即使在以下情况下向完全相同的客户收费也可以正常工作 no
  • 成员子对象继承存储持续时间是否有任何不直观的副作用?

    我以前不知道这一点 但是事实证明 https stackoverflow com questions 13743357 location of members of an object 13743395 comment18884848 13
  • 大小更改时使集合视图布局无效的正确方法

    我正在实现一个集合视图 其项目的大小基于集合视图的边界 因此 当大小发生变化时 例如由于旋转设备 我需要使布局无效 以便调整单元格大小以考虑新的集合视图边界 我已经通过viewWillTransitionToSize API 直到用户在包含
  • 如何在Java中设置环境变量而没有“非法反射访问”?如何使用附加打开?

    长话短说 我必须在运行时为特定测试设置一个环境 这里的答案工作正常 我正在使用this one https stackoverflow com a 496849 4420543 问题是我收到此警告 WARNING An illegal re
  • Hadoop .20 数据节点上“超出 GC 开销限制”

    我进行了搜索 但没有找到太多与 Hadoop Datanode 进程因超出 GC 开销限制而死亡相关的信息 所以我想我应该发布一个问题 我们正在运行一项测试 需要确认我们的 Hadoop 集群可以处理存储在其中的约 300 万个文件 当前是
  • Google 图表 - 当值为零时不显示点

    我正在使用 Google Charts 来显示一些时间序列数据 如下所示 通常 数据中零值的比例很高 因此您会在 x 轴上得到很多点 我认为这使得图表看起来很混乱 我不想显示 y 0 的点 非常感谢任何想法 指示 Thanks ct 最好的
  • ASP.NET:动态添加“水印”到图像

    我看到了有关以下方面的精彩问题和答案使用php在图像上添加水印 https stackoverflow com questions 2235152 add watermark to images with php 我也想做同样的事情 这次是
  • 将 GridView 与 ImageView 和 TextView 一起使用时出现问题

    我正在尝试在每个单元格内使用带有 ImageView 和 TextView 的 GridView 所以我当然创建了单元格布局 网格布局 imageAdapter 和主要活动 但我不断遇到以下问题 当我在模拟器上尝试此操作时 初始图像和标题显
  • 为什么C++中函数指针地址以bool类型打印?

    以下代码输出1 但我希望它输出函数的地址add 出了什么问题 include
  • HTML/CSS - 右对齐和左对齐在同一行?

    首先 我知道有一些方法可以使文本位于同一行 但我不知道如何扩展这一点 这是我到目前为止所拥有的 我怎样才能在不使用表格的情况下实现它 这是 HTML 部分 p class details a href Top To Top a p p cl
  • 我们可以将多个 html5

    我有两个视频 一个用于流式传输我的webcam另一个共享我的桌面屏幕 窗户 我需要合并这两个媒体流合而为一 这样我就可以将其另存为 mp4 文件并广播它WebRTC 我能够将两者结合起来VIDEO 流 标签通过将它们限制为DIV tag d
  • MacOS 10.6 (Snow Leopard) 上的 sdl-config 安装在哪里

    安装后SDL http www libsdl org release SDL 1 2 14 dmg and SDL 开发 http www libsdl org release SDL devel 1 2 14 extras dmg在 Ma
  • 识别 R 函数和脚本的依赖关系

    我正在筛选一个包和使用该包的脚本 并希望识别外部依赖项 目标是修改脚本以指定library pkgName 并修改包中的函数以使用require pkgName 这样以后这些依赖关系就会更加明显 我正在修改代码以考虑每个外部依赖包 举个例子
  • Visual Studio 2012 中的 WebApi2

    如何在 Visual Studio 2012 中创建使用 WebApi2 的项目 我必须使用空白项目进行创建还是必须创建 MVC 项目 我不想安装 Visual Studio 2013 预览版 请帮忙 你需要安装适用于 Visual Stu
  • 在Mac上通过ssh连接到亚马逊AWS Linux服务器

    我创建了一个新的密钥对并将其下载到我的 Mac 然后使用该密钥对和我的安全组设置了一个新的 Amazon Linux AMI 服务器 现在我需要将下载的密钥对 pem 文件放入用户文件夹中的 ssh 文件中 然而 由于名称的原因 我无法创建
  • Swift 能抵抗 hooking 吗?

    Cycript 是一个基于控制台的应用程序 它是 Objective C 和 JavaScript 的混合体 Cycript 对于 iOS 应用程序的动态分析非常有用 如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱