IOS越狱如何拦截短信/短信

2024-01-12

我目前正在尝试编写一个应用程序来拦截文本消息并根据该消息的内容做出反应。 我试图挂钩_receivedMessage:(struct __CKSMSRecord *)message replace:(BOOL)replaceCKSMSService 类中的方法但这似乎根本没有被调用。

有人可以告诉我我必须连接什么函数/类吗?我需要在文本消息显示并存储到数据库之前拦截它。我使用的是 IOS 5.0.1。

非常感谢任何帮助。


此代码片段应拦截 SMS 消息 - 您可以将其扩展为其他类型的通知。也适用于 iOS 5.0.1。但不适用于 iMessage。与 CoreTelephony 框架链接(那里有一堆私有标头,您可以对它们进行类转储)

#include <dlfcn.h>

#define CORETELPATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"
id(*CTTelephonyCenterGetDefault)();

void (*CTTelephonyCenterAddObserver) (id,id,CFNotificationCallback,NSString*,void*,int);


static void telephonyEventCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
    NSString *notifyname=(NSString *)name;
    if ([notifyname isEqualToString:@"kCTMessageReceivedNotification"])//received SMS
    {
        NSLog(@" SMS Notification Received :kCTMessageReceivedNotification");
        // Do blocking here. 
    }
}

-(void) registerCallback {

 void *handle = dlopen(CORETELPATH, RTLD_LAZY);
    CTTelephonyCenterGetDefault = dlsym(handle, "CTTelephonyCenterGetDefault");
    CTTelephonyCenterAddObserver = dlsym(handle,"CTTelephonyCenterAddObserver");
    dlclose(handle);
    id ct = CTTelephonyCenterGetDefault();

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

IOS越狱如何拦截短信/短信 的相关文章

  • 为arm64或arm7s编译OpenSSL FIPS功能库时出现未知的cpu类型

    我可以成功 至少没有警告并生成 a 文件 针对 arm7 x86 64 和 i386 进行编译 当我编译arm64时 我得到Unknown cpu type 100000c no adjustments made 当我编译arm7s时 我得
  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • NSUserDefaults 多久同步一次?

    的文档NSUserDefaults说synchronise方法被定期调用 但没有提及频率 10分钟的谷歌搜索没有发现任何信息 发生的频率是多少synchronise方法调用 这是一个未公开的实现细节 可能甚至不是一个恒定的时间间隔 但是 您
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • 删除派生数据文件夹后,Xcode 不断重新创建派生数据文件夹

    自动完成功能在 Xcode 6 中不再起作用 我四处搜索 发现删除派生数据文件夹可以解决此问题 每次我删除它时 它都会回来 然后就不会再自动完成了 有什么建议么 Thanks 没关系 我解决了这个问题 我没有声明需要在类内的方法中使用的变量
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 如何解决malloc_error_break?

    我在 iOS 3 0 模拟器上遇到此错误 但在 3 1 3 和 3 2 模拟器上没有遇到此错误 创建符号断点后malloc error break 我在日志中看到了这一点 Session started at 2010 02 13 19 1
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 查找已用应用程序名称的捆绑包/开发人员

    我正在尝试将应用程序上传到应用程序商店并收到以下错误 很容易理解 The App Name you have entered has already been used 该应用程序不在 iTunes 上 有什么方法可以找出谁拥有该应用程序或
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 推送到新的远程分支时更新被拒绝错误

    我已经分叉了一个 github 存储库 现在我的分叉已经进行了几次提交 我现在想提供one这些提交作为原始存储库的 PR 下列的这个问题的答案 https stackoverflow com questions 21527233 creat
  • 设置请求优先级齐射

    我正在尝试使用 Android 中的 Volley 库设置请求的优先级 我不知道如何设置请求优先级 StringRequest request new StringRequest Request Method GET feed URL vo
  • 何时使用转换或转换

    我很想知道演员表和演员表之间有什么区别int与使用相比Convert ToInt32 使用它是否会带来某种性能提升 另外 每种情况应该用于哪些情况 目前我更倾向于使用Convert但我没有理由走任何一条路 在我看来 他们都实现了同一个目标
  • 我们如何改变tableview标题的字体?

    我正在为 tabelView 使用一些背景颜色 并且样式已分组 各部分标题中的文本不清楚 因此我需要修改文本颜色 以便标题文本应该可见 我想知道我们可以更改标题文本的颜色和大小吗 添加 terente 的答案 UIView tableVie
  • 如何仅在过去 365 天使用 group by 对 pandas 数据框执行滚动求和

    尝试计算 p id 仅过去 365 天的滚动总和 创建一个包含此滚动总和的新列 具有新列的数据框应如下所示 Date p id points roll sum 2016 07 29 57 11 11 2016 08 01 57 9 20 2
  • ag-grid valueFormatter 函数的自定义参数

    我可以将自定义参数传递给 ag grid valueFormatter 函数吗 喜欢 valueFormatter PercentageFormatter params 10 如果是 那么需要传递什么作为第一个参数来获取单元格值 Funct
  • 包含多种 Java 类型的表上的 DynamoDBMapper

    我有一个 DynamoDB 表 其中包含不止一种类型的逻辑实体 我的表存储 员工 和 组织 并在两者之间创建多对多关系 我正在努力解决如何使用 DynamoDBMapper 对实体和表进行建模 特别是在尝试编写将返回员工和组织的查询时 在我
  • 如何从phonegap android插件返回数组或其他集合元素类型

    这是我在 java 插件中测试代码的一部分 我正在使用phonegap 2 7 public boolean execute String action JSONArray args CallbackContext callbackCont
  • Requirejs - 在加载 data-main 之前配置 require

    我们第一次使用 requirejs 我在构建依赖项时遇到了麻烦 我已将主 app js 文件定义为 index html 中的 data main 属性 但是 我有一个文件定义了所有需要的路径 垫片配置 并且我希望它在 app js 文件之
  • 我可以使用 git 的脚本化提交模板吗?

    我们正在处理票证 当我们在第一行的 git 提交消息中使用票证编号时 票证就会使用提交消息进行更新 为了简单起见 我们总是在带有提交号的分支上工作 现在我想看到一条提交消息 其中票号已被填写 这一定是可能的 因为分支已经在提交模板中 但在被
  • 高效的弦修剪

    我有一个String价值 我想要trim https doc rust lang org stable std string struct String html method trim它 我可以做类似的事情 let trimmed s t
  • 计算每列中空值的数量

    我遇到过一个数据库 其表太宽 600 列 即使在没有参数的情况下询问前 100 行也需要 4 秒 我想把这些桌子缩小一点 为了弄清楚哪些列可以最容易地移动到新表或完全删除 我想知道每列中有多少个空值 这应该告诉我哪些信息可能最不重要 我将如
  • 何时将我的项目拆分为多个 C 文件? (大型项目的良好实践)[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我现在正在做一个C语言的大项目 我正在做其中的特定部分 另一个是由其他人完成的 我想知道什么时候应该将我的项目拆分为多个c文件 以及编写的最佳实
  • 使用 XOM 在具有默认命名空间的 xml 上应用 xpath

    我有下面的 XML 其中包含默认名称空间
  • 从字典列表中获取最后更新的字典消息

    我正在尝试从数据流中获取实体的最新更新消息 数据以字典列表的形式出现 其中每个字典都是实体的更新消息 我只需要该实体的最新更新 我的输入是一个字典列表 输出需要是一个字典的字典 注意 仅长度更新 类别保持静态 我知道哪一个是最新更新 因为对
  • 芹菜与亚马逊 SQS

    我想用亚马逊SQS http aws amazon com sqs 作为经纪人支持Celery http celeryproject org SQS 传输实现Kombu https github com ask kombu Celery 依
  • 将 url 和 hash 与 Bootstrap ScrollSpy 一起使用

    我有一个基于 twitter bootstrap 的导航菜单栏 我想应用滚动间谍来突出显示 我使用普通的 php include 将菜单包含到多个页面中 因此我使用文件名加书签链接到文件 例如 products php foo 但滚动间谍希
  • Angular 2—更改组件选择器

    The Angular 2 文档 https angular io docs ts latest guide displaying data html假设要定义这样的组件 使用魔术字符串作为选择器名称 import Component fr
  • 查找另一个字段mongodb的不同值组

    我收集了这样的文件 id ObjectId 5c0685fd6afbd73b80f45338 page id 1234 category list football sport time broadcast 09 13 id ObjectI
  • IOS越狱如何拦截短信/短信

    我目前正在尝试编写一个应用程序来拦截文本消息并根据该消息的内容做出反应 我试图挂钩 receivedMessage struct CKSMSRecord message replace BOOL replaceCKSMSService 类中