手机版 - imessage信息群发,苹果imessages短信,imessages推信,苹果手机推信,苹果imessage群发实现原理

发布时间 2023-12-02 00:28:47作者: Fz's
Apple公司全线在mac os与ios两个操作系统上内置了FaceTime与iMessage两个应用。完美替代运营商的短信与电话。并且FaceTime与iMessage的帐号不仅仅与Apple ID 绑定,同时也与使用这Apple ID的手机号码绑定,这样的漏洞自然给无孔不入的群发垃圾信息商们提供了后门。这样iPhone的iMessage时不时就能收到发送者的垃圾iMessage,针对iMessage的群发实现,新闻稿上说是花几分钟写个脚本就可以了。经过研究终于实现了全自动控制苹果手机来自动发送,还可以通过群控方式实现大批量群发。
 一、苹果手机上(ios系统)实现imessages群发总结为以下几种方式
1.通过编写运行于iPhone手机上的脚本来实现群发imessages短信(发送速率快,无需证书签名,可单台手机安装脚本实现自动发送,也可以一台电脑去控制其他N台iphone手机自动群发)
2.通过编写运行于iPhone手机上的app来调用iphone手机上的imessages应用实现群发 (发送速率快,需要证书签名,可单台手机安装脚本实现自动发送,也可以一台电脑去控制其他N台iphone手机自动群发)

 

 

二、苹果手机全自动群发脚本
1.脚本全自动发送短信(最新升级版本请参考博文首页相关文章:https://www.cnblogs.com/fzblog/)
第一种: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     else
 65         return false
 66     end
 67 end
 68 
 69 
 70 --将指定文件中的内容按行读取
 71 function read_file(path)
 72     local file = io.open(path,"r");
 73     if file then
 74         local _list = {};
 75         for l in file:lines() do
 76             table.insert(_list,l)
 77         end
 78         file:close();
 79         return _list
 80     end
 81 end
 82 
 83 
 84 -- 读取取txt文件中一行数据内容
 85 function readFile_one()
 86     local file = userPath().."/res/conntent.txt"
 87     local bool = exists(file) --检测指定文件是否存在
 88     if bool then
 89         local list = read_file(file)--将指定文件中的内容按行读取; 返回 table/nil 文件内容
 90         if #list > 0 then            -- #表示取长度
 91             for  i=1, #list,1  do
 92                 --dialog(string.lower(list[i]))
 93                 return string.lower(list[i])
 94             end
 95         end
 96     else
 97         dialog("话术内容文件 conntent.txt 不存在,请检查是否已上传.",0)
 98         lua_exit();
 99     end
100 end
101 
102 
103 --读取txt文件中所有的数据内容
104 function readFile_all()
105     local file = userPath().."/res/conntent.txt"
106     local bool = exists(file) --检测指定文件是否存在
107     if bool then
108         local f = io.open(file,'r')
109         local content = f:read('*all')
110         --dialog(content)
111         f:close()
112         return content
113     else
114         dialog("话术内容文件 conntent.txt 不存在,请检查是否已上传.",0)
115         lua_exit();
116     end
117 end
118 
119 
120 
121 --生成随机数
122 function randomStr(str, num)
123     local reStr ='';
124     math.randomseed(tostring(os.time()):sub(5):reverse());
125     for i = 1, num do
126         local getStr = math.random(1, string.len(str));
127         reStr = reStr .. string.sub(str, getStr, getStr);
128     end
129     return reStr;
130 end
131 
132 
133 --点击操作
134 function click(x, y, s)
135     local s=s or nil
136     touchDown(0,x,y)
137     mSleep(50)
138     touchUp(0,x,y)
139 end
140 
141 
142 --连续滑动
143 function clickMove(x1,y1,x2,y2,n)
144     local w = math.abs(x2-x1);
145     local h = math.abs(y2-y1);
146     touchDown(0,x1,y1);
147     mSleep(50);
148     if x1 < x2 then
149         w1 = n;
150     else
151         w1 = -n;
152     end
153     if y1 < y2 then
154         h1 = n;
155     else
156         h1 = -n;
157     end
158     if w >= h then
159         for i = 1 , w,n do
160             x1 = x1 + w1;
161             if y1 == y2 then
162             else
163                 y1 = y1 + math.ceil(h*h1/w);
164             end
165             touchMove(0,x1,y1);
166             mSleep(10);
167         end
168     else
169         for i = 1 ,h,n do
170             y1 = y1 + h1;
171             if x1 ==x2 then
172             else
173                 x1 = x1 + math.ceil(w*w1/h);
174             end
175             touchMove(0,x1,y1);
176             mSleep(10);
177         end
178     end
179     mSleep(50);
180     touchUp(0,x1,y1);
181 end

2.群控端一键控制全部手机自动发送停止,群发iMessages信息,并且在发送过程中后台方式下全自动更换每台手机设备UUID来达到防止封ID,手机设备等.
/* 电脑上安装的群控软件,群控软件来控制全部越狱或免越狱的iPhone手机设备,通过电脑上部署的群控端分别给每台手机上传不同的发送数据和发送内容后,使用群控软件来批量让所有手机设备全自动更换序列号,app id并自动发送iMessage短信*/

 

注意:文中包含的脚本代码、工具、系统、图样只作为技术学习研究,请勿作为非法用途,因违反相关规定而触犯法律的,一切后果自负,与作者无关。
(1)苹果手机在启动全自动发脚本之前,首先手机设备 “通用-信息”中设置 "手机号作为发送号" 并且关闭 "作为短信发送" 功能。
(2)开启苹果手机的飞行模式,并设置连接Wife,通过无线或4G信号网络去发送iMessages信息
(3)全自动群发imessages脚本目前支持以下iPhone手机的IOS版本(其他版本的苹果IOS系统可以自行更改代码或有偿联系定制,咨询或联系: 点此联系 )

1 机型:iPhone 4,4S, iPod touch 4            分辨率:640x960          已有
2 机型:iPhone SE, 5, 5S, iPod touch 5       分辨率:640x1136         可订制
3 机型:iPhone 6(S)/7/8                      分辨率:750x1334         已有
4 机型:iPhone 6 P/6SP/7P/8P               分辨率:1242x2208        已有
5 机型:iPhone X                         分辨率:1225x2436        已有
6 机型:iPhone XR/11                         分辨率:828x1792         已有
7 机型:iPhone XS Max/11 Pro Max             分辨率:1242x2668        已有
8 机型:iPhone XS/11 Pro                     分辨率:1125x2436        可订制