如何阻止iPhone越狱+代码接收到的SMS(How to block incoming SMS i

2019-06-23 13:45发布

我搜索的SO问这个问题之前,有没有满足我的需要的答案。

所以这是我的要求,

我有这样的一段代码,用于检测传入的短信,但它并没有说如何转储这些消息。 我已经成功地阻止了来电,但对于消息我不知道如何做到这一点。 这里的任何帮助将是非常赞赏。

我在使用任何私有的API确定。

if ([notifyname isEqualToString:@"kCTSMSMessageReceivedNotification"])
{
    if ([[(NSDictionary *)userInfo allKeys]
         containsObject:@"kCTSMSMessage"]) // SMS Message
    {
        CTSMSMessage *message = (CTSMSMessage *)
        [(NSDictionary *)userInfo objectForKey:@"kCTSMSMessage"];
        NSString *address = CTSMSMessageCopyAddress(NULL, message);
        NSString *text = CTSMSMessageCopyText(NULL, message);
        //NSArray *lines = [text componentsSeparatedByString:@"\n"];
        printf(" %s %s\n", [address UTF8String],[text UTF8String]);
        //printf(" %s\n", [text cString]);
        fflush(stdout);

    }
}
else if ([notifyname isEqualToString:@"kCTMessageReceivedNotification"])//received SMS
{
    /*
     kCTMessageIdKey = "-2147483636″;
     kCTMessageTypeKey = 1;
     */

    NSDictionary *info = (NSDictionary *)userInfo;
    CFNumberRef msgID = (CFNumberRef)[info objectForKey:@"kCTMessageIdKey"];
    int result;
    CFNumberGetValue((CFNumberRef)msgID, kCFNumberSInt32Type, &result); 
    /*
     Class CTMessageCenter = NSClassFromString(@"CTMessageCenter");
     id mc = [CTMessageCenter sharedMessageCenter];
     id incMsg = [mc incomingMessageWithId: result];

     int msgType = (int)[incMsg messageType];

     if (msgType == 1) //experimentally detected number
     {
     id phonenumber = [incMsg sender];

     NSString *senderNumber = (NSString *)[phonenumber canonicalFormat];
     id incMsgPart = [[incMsg items] objectAtIndex:0];
     NSData *smsData = [incMsgPart data];
     NSString *smsText = [[NSString alloc] initWithData:smsData encoding:NSUTF8StringEncoding];
     }
     */
}

由于纳文

Answer 1:

你的问题是不太清楚。 你希望他们能够完全消失了,使他们甚至不会在消息应用程序(和数据库),或者你只是想跳板,不通知传入邮件的用户?

对于第一个,你将不得不挂钩,实际上发出该通知,你在听在你的代码sniplet的过程。 我敢肯定,你必须与imagent(/System/Library/PrivateFrameworks/IMCore.framework/imagent.app/imagent)进行修补。

对于第二个你必须在跳板玩耍。 由于iOS的5.0 BulletinBoard正在处理通知给用户,这样你就可以阻止它。 (你可能想检查出SMSBBPlugin这是一个BulletinBoard插件)。

或者只是火了你选择的反汇编,看看怎么样biteSMS调整正在这样做;)

请记住,越狱的调整发展有时需要大量的扭转和修修补补的,大多数人将继续他们的调查结果的巨大部分自己。



文章来源: How to block incoming SMS in iPhone jailbreak + code