Apple公司全線在mac os與ios兩個作業系統上內建了FaceTime與iMessage兩個應用。完美替代運營商的簡訊與電話。並且FaceTime與iMessage的帳號不僅僅與Apple ID 繫結,同時也與使用這Apple ID的手機號碼繫結,這樣的漏洞自然給無孔不入的群發垃圾資訊商們提供了後門。這樣iPhone的iMessage時不時就能收到傳送者的垃圾iMessage,針對iMessage的群發實現,新聞稿上說是花幾分鐘寫個指令碼就可以了。經過研究終於實現了全自動控制蘋果手機來自動傳送,還可以透過群控方式實現大批次群發。
一、蘋果手機上(ios系統)實現imessages群發總結為以下幾種方式
1.透過iphone手機上自帶的快捷指令進行群發。 (優點:入門門檻低,iphone自帶快捷指令
缺點:傳送量過多易被封ID,更換髮送資料較麻煩,手機裝置較多時,操作起來費時間。)
2.透過編寫執行於iphone手機上的指令碼來實現群發imessages簡訊 (優點:傳送速率快,無需證書籤名,一臺電腦或手機能群控N臺iphone手機 缺點:iphone手機需要越獄,群控需要付費第三方群控軟體)
3.透過編寫執行於iphone手機上的按鍵精靈指令碼實現群發imessages簡訊 (優點:傳送速率快,無需證書籤名,一臺電腦群控N臺iphone手機 缺點:iphone手機需要越獄,群控需要付費第三方群控軟體)
4.透過編寫執行於iphone手機上的app來呼叫iphone手機上的imessages應用實現群發 (優點:傳送速率快,ipa安裝包需簽名證書,一臺電腦群控N臺iphone手機 缺點:iphone手機無需越獄,群控需要付費第三方群控軟體,每臺手機的證書籤名都需要付費)
二、蘋果手機透過快捷指令群發imessages簡訊
1:App Store搜尋現成的快捷指令指令碼(或開啟siri瀏覽器訪問 https://apps.apple.com/app/shortcuts/id915249334 進行下載快捷指令)
2:新增完開啟設定——快捷指令——高階———允許共享大量資料開啟
3:開啟蘋果手機 通用 中搜尋快捷指令,啟動發資訊的指令(預設是給自己手機通訊錄中的聯絡人傳送imessages簡訊)
4.電腦安裝91助手後將手機資料全部匯入到當前手機通訊錄中,啟動快捷指令,進行批次群發。
三、蘋果手機安裝imessage全自動群髮指令碼
/* iPhone手機安裝中控指令碼或群發程式來實現無人值守傳送,windows電腦上安裝群控軟體來控制全部iphone手機,實現自動傳送,更換手機序列號來實現防封app id,群控軟體一鍵群控所有的手機全自動群發 ,最新升級版本請參考博文首頁相關文章: https://www.cnblogs.com/ap16633/ */
1.windows/mac os電腦上安裝群控軟體全自動控制同區域網或廣域網下的全部手機,群控軟體給所有手機分別上傳不同或相同的傳送資料和傳送內容,不用去單獨管理手機,群控軟體全自動給所有手機安裝群發程式,自動啟動,停止群發。
main 主庫程式碼示例(部分核心程式碼如下):
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輔助庫程式碼示例:
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