苹果短信,iMessage群发实现原理分析

发布时间:2025-12-09 11:51:47 浏览次数:1

Apple公司全线在mac os与ios两个操作系统上内置了FaceTime与iMessage两个应用。完美替代运营商的短信与电话。并且FaceTime与iMessage的帐号不仅仅与Apple ID 绑定,同时也与使用这Apple ID的手机号码绑定,这样的漏洞自然给无孔不入的中国的群发垃圾信息商们提供了后门。

这样iPhone的iMessage时不时就能收到以邮件为发送者的垃圾iMessage,尤其是嘀嗒打车群发的最多,听说是厦门一家公司操刀的。针对iMessage的群发实现,新闻稿上说是花几分钟写个脚本就可以了。可惜我花时间研究了好几次,也没有实现大批量群发的实现,倒是把自己的Apple ID搞的电脑与手机不同步了。

我研究怎么实现iMessage群发先是从XMPP协议开始的,因为Apple MAC os上的ichat是XMPP客户端,可以连接iMessage服务器,同时也可连接gtalk与weibo私信。但后面发现iMessage的服务器验证是加密,没办法实现非ichat XMPP客户端连接iMeesage服务器,那就自然没办法实现程序控制往iMeesage服务器批量发送信息。

只能通过MAC OS或者iOS自带的程序往iMeesage服务器发送信息,那要实现群发,自然只能想办法去调用自带的这ichat客户端,在MAC OS系统上Apple公司提供一种叫Apple script的脚本来自动实现任务。可能通过tell application "Messages"就可以激活iMessage客户端自动发送信息。这样实现的群发的思路就很清楚了

一、iMessage账号获取
/* 群发iMessage主要需要攻破两个技术难点,一个是iMessage账号的获取,另一个是群发iMessage。*/
1.iMessage账号获取
iMessage账号目前获取的方法主要是扫描手机号码或邮箱账号。扫描手机号码或邮箱账号可以通过代码自动扫描,也可以通过人工筛选。
1.编写AppleScript脚本控制Mac OS自带的iMessage客户端进行验证,类似于群发iMessage。发送一条iMessage之后,如果捕获到发送失败的异常则不是iMessage账号

2.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。其中红色表示不是iMessage账号,蓝色表示iMessage账号以及未检验的账号,接口一般只能调200次左右,之后重启系统次数会清零.


二、iMessage推送技术实现
1.检验完所有账号后,群发有两个方法,一个是通过iMessage客户端,另一个是通过AppleScript脚本控制iMessage客户端发送。(如有其他好的办法,告诉一声,企鹅号:2632313923)
示例代码:

 1 tell application "Messages" 2 set csvData to read "/Users/用户/Desktop/test.csv"   3 set csvEntries to paragraphs of csvData 4 repeat with i from 1 to count csvEntries 5 set phone to (csvEntries's item i)'s text 6 set myid to get id of first service 7 set theBuddy to buddy phone of service id myid 8 send "今天北京晴,气温16到23度;周三晴,气温16到23度,北风1-3级;周四晴,气温17到25度,微风<3" to theBuddy 9 delay 3 -延时三秒,不然取不到已发达的内容10 set FailNum to (get count chat)11 if FailNum>100 then12 repeat with j from 1 to FailNum13 set phone to (get name of chat (FailNum-j))14 set DelMsg to "iMessage;-;" & phone15 if exists (text chat id DelMsg) then16 delete text chat id DelMsg17 end if18 end repeat19 end if20 end repeat21 end tell

当然也可以自己根据上面的代码自行更改更加强大的全自动发送脚本,改良后如下:

多台机器自动轮换群发:

单台机器群发:

三、发送端的Apple ID要求:
1、由于国内账号会屏蔽很多软件,需要用其他国家的ID下载,美国/韩国/日本/香港/台湾等地区的Apple id可以下载各类软件,没有限制。
2、Apple ID 是您用于访问 Apple 服务的帐户,这些服务包括 App Store、Apple Music、iCloud、iMessage 信息、“FaceTime 通话”等。一般美国的苹果账号软件最全。


四、Mac os系统或者黑苹果系统imessages群发短信注意事项:
Mac os系统或者VMware Workstation安装的黑苹果装10.x操作系统,会自带messages程序, 首先登录 app store,再打开Messages程序,再启动apple script脚本进行群发。

1.Mac Os连接不上 App Store或无法登陆 App Store的解决办法
/* 首先,根据网络前辈的介绍,在 mac系统正常启动并且可以浏览器可以上网的前提下,如果自己的icloud账号无法激活,基本就是网络问题。*/
第一步,打开“偏好设置-网络-高级-DNS” 配置IP地址为 114.114.114.114
第二步,登录“偏好设置-icloud” 正确输入app id账号信息后,即可成功登录

2.黑苹果洗白,三码注入,iMessages 和FaceTime 可用
/* 如果登陆app store过程一直在转圈的情况,原因是:app store 会检查机器的smbios 信息,如果不是 mac 机器,就不让登录。*/
第一步,使用工具:Clover configurator生成三码进行注入即可解决!
第二步,如有好的建议可以咨询或联系 QQ:

短信群发技术
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477