Apple公司全线在mac os与ios两个操作系统上内置了FaceTime与iMessage两个应用。完美替代运营商的短信与电话。并且FaceTime与iMessage的帐号不仅仅与Apple ID 绑定,同时也与使用这Apple ID的手机号码绑定,这样的漏洞自然给无孔不入的群发垃圾信息商们提供了后门。这样iPhone的iMessage时不时就能收到发送者的垃圾iMessage,针对iMessage的群发实现,新闻稿上说是花几分钟写个脚本就可以了。经过研究终于实现了全自动控制苹果手机来自动发送,还可以通过群控方式实现大批量群发。
一、苹果手机上(ios系统)实现imessages群发总结为以下几种方式
/* 经小编通过测试,使用iphone手机进行iMessage群发分越狱和免越狱版,越狱版可以做到通过群控自动修改序列号来达到无限次数更换ID,免越狱iphone只可以做到大约60、70次更换ID此后将无法再更换ID。*/
1.通过编写运行于iPhone手机上的脚本来实现群发imessages短信(发送速率快,无需证书签名,可单台手机安装脚本实现自动发送,也可以电脑安装群控软件去控制其他N台iphone手机自动群发)
2.通过编写运行于iPhone手机上的app来调用iphone手机上的imessages应用实现群发 (发送速率快,需要证书签名,可单台手机安装脚本实现自动发送,也可以一台电脑去控制其他N台iphone手机自动群发)
二、苹果手机全自动群发脚本
1.脚本全自动发送短信(最新升级版本请参考博文首页相关文章:https://www.cnblogs.com/imblog/)
第一种:iphone手机不多的情况下,每台手机手动安装imessage自动群发程序并上传发送数据和发送内容后,手动的一台一台手机去启动自动发送脚本即可开始全自动imessage发送。
第二种:iphone手机比较多的情况下,通过windows/mac os电脑上安装群控软件,群控软件自动控制局域网或广域网下所有的iphone手机,群控软件一键给全部手机全安装群发脚本(完全不用去单独管理手机),群控软件来控制所有手机设备,去自动运行群发脚本。
main.lua代码示例(展示部分核心代码如下):
1 require("TSLib");--导入扩展库
2 require("lib")--导入方法库
3
4
5 init(0) -- 0表示竖屏 1表示横屏
6 unlock_iphone() --自动解锁IOS屏幕密码锁,前提是Iphone手机未设置屏幕锁密码
7
8
9 -- 主线任务处理
10 function 主线任务()
11 --根据不同的IOS设备分辨率去执行不同的任务
12 local ios_version = get_ios_version(w, h)
13 if ios_version=="640x960" then --分辨率:640x960 机型:iPhone 4,4S, iPod touch 4
14 iphone4_work("phone.txt")
15 elseif ios_version=="750x1334" then --分辨率:750x1334 机型:iPhone 6(S)/7/8
16 iphone6_work("phone.txt")
17 elseif ios_version=="1242x2208" then --分辨率:1242x2208 机型:iPhone 6 P/6SP/7P/8P
18 iphone8p_work("phone.txt")
19 end
20 end
21
22
23
24 function iphone4_work(filename)
25 local file = userPath().."/res/".. filename
26 local bool = exists(file) --检测指定文件是否存在
27 if bool then
28 dialog("iPhone 4,4S, iPod touch 4 分辨率:分辨率:640x960")
29 elseif
30 dialog(filename .. " 数据文件不存在,请检查是否已上传.",0)
31 lua_exit();
32 end
33 end
34
35
36
37 function iphone6_work(filename)
38 local file = userPath().."/res/".. filename
39 local bool = exists(file) --检测指定文件是否存在
40 if bool then
41 dialog("iPhone 6 P/6SP/7P/8P 分辨率:分辨率:1242x2208")
42 elseif
43 dialog(filename .. " 数据文件不存在,请检查是否已上传.",0)
44 lua_exit();
45 end
46 end
47
48
49
50 function iphone8p_work()
51 dialog("iPhone 6 P/6SP/7P/8P 分辨率:分辨率:1242x2208")
52 end
53
54
55 -- -- --执行主线任务
56 if 任务 == "Imagess群发信息" then
57 --启动应用 0:启动成功 1:启动失败
58 r = runApp("com.apple.MobileSMS");
59 mSleep(3000);
60 if r == 0 then -- 启动成功则执行
61 主线任务()
62 else
63 closeApp("com.apple.MobileSMS")
64 dialog("应用启动失败",3);
65 end
66 end
lib.lua代码示例:
1 --解锁屏幕密码
2 function unlock_iphone()
3 --如果要在设备自启动时解锁屏幕直接使用 unlockDevice 函数即可
4 sysver = getOSVer();
5 --获取系统版本
6 local t = strSplit(sysver,".")
7 flag = deviceIsLock();
8 if flag == 0 then
9 --dialog("未锁定",3);
10 toast("iPhone屏幕锁未锁定")
11 elseif tonumber(t[1]) >= 10 then
12 doublePressHomeKey()
13 unlockDevice();
14 --按一次 Home 键
15 mSleep(20)
16 pressHomeKey(0);
17 pressHomeKey(1)
18 mSleep(1000)
19 else
20 pressHomeKey(0);
21 pressHomeKey(1)
22 --解锁屏幕
23 unlockDevice();
24 mSleep(1000)
25 end
26 end
27
28
29 --获取IOS设备分辨率
30 function get_ios_version(width, height)
31 if width == 640 and height == 960 then --iPhone 4,4S, iPod touch 4
32 --iPhonedialog("iPhone 4,4S, iPod touch 4 \n".."分辨率:640x960")
33 return "640x960"
34 elseif width == 640 and height == 1136 then --iPhone SE, 5, 5S, iPod touch 5
35 --dialog("iPhone SE, 5, 5S, iPod touch 5 \n".."分辨率:640x1136")
36 return "640x1136"
37 elseif width == 750 and height == 1334 then --iPhone 6(S)/7/8
38 -- dialog("iPhone 6(S)/7/8 \n".."分辨率:750x1334")
39 return "750x1334"
40 elseif width == 1242 and height == 2208 then --iPhone 6 P/6SP/7P/8P
41 --dialog("iPhoneiPhone 6 P/6SP/7P/8P \n".."分辨率:1242x2208")
42 return "1242x2208"
43 elseif width == 1225 and height == 2436 then --iPhone X
44 --dialog("iPhoneiPhoneiPhone X \n".."分辨率:1225x2436")
45 return "1225x2436"
46 elseif width == 828 and height == 1792 then --iPhone XR/11
47 --dialog("iPhone XR/11 \n".."分辨率:828x1792")
48 return "828x1792"
49 elseif width == 1242 and height == 2668 then --iPhone XS Max/11 Pro Max
50 --dialog("iPhone XS Max/11 Pro Max \n".."分辨率:1242x2668")
51 return "1242x2668"
52 elseif width == 1125 and height == 2436 then --iPhone XS/11 Pro
53 --dialog("iPhone XS/11 Pro \n".."分辨率:1125x2436")
54 return "1125x2436"
55 end
56 end
57
58
59 --检测指定文件是否存在
60 function exists(file_name)
61 local f = io.open(file_name, "r")
62 if f ~= nil then
63 return true and f:close()
64