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 吗? 的相关文章

  • 如何通过 PDO 使用密码哈希来使我的代码更安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的代码实际上可以工作 但它一点也不安全 我不想使用 MD5 因为它不是那么安全 我一直在查找密码哈希 但我不确定如何将其合并到我的代
  • 如何组合两个 SwiftyJSON 对象

    我有一个 swiftyJSON 对象 例如 location http img http commentCount 0 timestamp 1432460217550 我希望能够向其附加另一个 swiftyJSON 对象 使其看起来像 lo
  • 在 UITableViewController 中重新排序行后 UI 更新不正确

    因此 我对表中的行重新排序 用户界面最终结果不正确 场景如下 表内容原文 a b c d e 如果我移动第 0 行 当前a 到第 4 行 当前e 我看到的最终结果是 c d e a a 一些背景 该表正在读取 Realm 对象的列表 我确认
  • 如何使用 Swift 将“完成”按钮添加到 iOS 中的数字键盘?

    它在默认键盘上工作得很好 但我无法让它在数字键盘上工作 有任何想法吗 据我所知 你不能在键盘部分添加 完成 按钮 你应该添加一个inputAccessoryView to the UITextField or UITextView 如果这就
  • XCode 7 中的 AWSS3TransferManagerUploadRequest

    我今天升级到 Xcode 7 Swift 2 0 我的项目正在使用 CocoaPods 我正在 POD 文件中导入所有与 AWS 相关的文件 我已经设置了桥接标头 并导入了 Amazon 告诉我的所有文件 在升级到 Swift 2 0 之前
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • 如何检测 swiftui 中是否存在键盘

    我想知道按下按钮时键盘是否存在 我该怎么做 我已经尝试过 但我没有任何运气 谢谢 使用该协议 KeyboardReadable 你可以符合任何View并从中获取键盘更新 KeyboardReadable协议 import Combine i
  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • Swift:如何减少 didupdatelocations 调用

    我想出了一些代码来打印我所在位置的地址和邮政编码 这是在 didupdatelocation 函数中完成的 我遇到的唯一问题是 didupdatelocation 函数每秒都会更新该地址 因为这电池效率非常低 所以我一直在寻找使用间隔的方法
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 在 SwiftUI 中使用分段式选取器在两个页面之间滑动

    我有一个Picker with pickerStyle SegmentedPickerStyle 使其成为分段控件 我想让页面在之间平滑滑动 而不是使用条件语句替换视图 这是我迄今为止所做的 gif 这是到目前为止的代码 由if 而不是在不
  • 删除 woocommerce 店面主页标题 php

    我正在使用 woocommerce 的店面主题 我需要用 php 删除主页标题 h1 我知道 css 解决方案 但我不想使用它 因为我想将 h1 添加到该页面的其他位置 并且在一个页面中包含 2 个 h1 对 seo 不利页 我也知道删除页
  • 在真实设备上展示测试广告

    这是我的代码 let request GADRequest request testDevices kGADSimulatorID XXXX2F32d69CCA859FFB559D0FEA3CF6483D08A6 adView load r
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • SKNode 上的 runAction 未完成

    我使用 NSOperation 子类来获取串行执行SKAction正如这个问题中所描述的 如何在 Swift 中子类化 NSOperation 以将 SKAction 对象排队以进行串行执行 https stackoverflow com

随机推荐

  • 最好的 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 是否仍然可以在越狱