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越狱如何拦截短信/短信 的相关文章

随机推荐

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

    我已经分叉了一个 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 类中