Apple公司全線在mac os與ios兩個作業系統上內建了FaceTime與iMessage兩個應用。完美替代運營商的簡訊與電話。並且FaceTime與iMessage的帳號不僅僅與Apple ID 繫結,同時也與使用這Apple ID的手機號碼繫結,這樣的漏洞自然給無孔不入的群發垃圾資訊商們提供了後門。
我們的iPhone使用者的iMessage時不時就能收到傳送者的垃圾iMessage推廣資訊,針對iMessage的群發實現,新聞稿上說是花幾分鐘寫個指令碼就可以了。經過研究終於實現了在蘋果電腦和Windows系統上實現了全自動傳送imessages資訊。
研究怎麼實現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客戶端自動傳送資訊。這樣實現的群發的思路就很清楚了。
一、PC電腦版蘋果系統(Mac OS)上實現imessages群發總結為以下幾種方式:
/*MacOS蘋果系統,正常情況下,只能安裝到蘋果公司自己出品的Mac電腦,俗稱白蘋果,不能安裝到各種組裝機或者其他品牌的品牌機上,黑蘋果的的原理,就是透過一些
“破解補丁” 工具欺騙macOS系統,讓蘋果系統認為你的電腦其實是一臺蘋果電腦,從而可以安裝執行。*/
1.購買蘋果筆記本或蘋果一體機(俗稱白蘋果),透過群髮指令碼呼叫蘋果電腦系統下的imessages應用來實現自動群發imessages簡訊
優點: 只需要群髮指令碼程式碼即可實現群發,無需其他任何操作。
缺點: 如果傳送的較多,官方會封ID或裝置串碼(序列號、主機板序列號、UUID等裝置串碼),一旦裝置串碼被封,蘋果電腦下很多應用都無法使用,得不償失,解封很麻煩(解封需要電聯官方解封)。
2.透過大於16G的隨身碟製作Mac OS系統的啟動盤,使用隨身碟將黑蘋果系統安裝到我們的英特爾或者AMD架構的硬體上,然後透過相關工具將黑蘋果洗成白蘋果,並使用相關工具注入裝置串碼後正常的使用FaceTime,Imessages等蘋果自帶的應用。
優點: 安裝在windows系統的PC硬體電腦上的黑蘋果系統透過特定工具及技術洗成白蘋果後,完全和Mac筆記本或蘋果一體機擁有完全一樣的功能。傳送數量也大大提高。
缺點:需要自行購買隨身碟並製作Mac OS啟動盤,並將蘋果系統安裝在英特爾或者AMD架構的硬體上或VMware虛擬機器上,並使用相關工具注入三碼(序列號、主機板序列號、UUID等裝置串碼)洗成白蘋果。
3.Windows下透過安裝Vmware虛擬機器,在Vmware虛擬機器下安裝Mac OS黑蘋果系統,透過特定工具以及技術洗白蘋果後,然後透過克隆複製多開N個這樣子的蘋果系統,透過指令碼全自動實現批次群發。
優點: 安裝部署起來簡單方便,隨時可以大批次克隆複製多開系統,即使APP ID或Imgessages被封不能傳送,使用者可以隨時更換裝置串碼(序列號、主機板序列號、UUID等裝置串碼)等來解封從而達到繼續使用Imessages
缺點:傳送數量根據ID所屬國家地區(解封方便,使用者隨時可以自行使用相關工具來生成新的串碼來更換裝置串碼解封裝置)
總結.黑蘋果注入三碼,避免封號,解鎖iCloud、 FaceTime、iMessage
(1)三碼主要影響以下蘋果服務和功能:FaceTime、iMessage、iCloud
三碼指的是機型序列號(SerialNumber),主機板序列號(BoardSerialNumber),通用唯一識別碼(UUID)
生成的序列號首先在EveryMac(https://everymac.com/ultimate-mac-lookup/)驗證是否符合編碼規則。然後還需要到蘋果官網(https://checkcoverage.apple.com/?locale=zh_CN)驗證序列號的“無效性”,如果EveryMac顯示有效,而蘋果官網顯示無效,同時滿足這兩個條件,這個序列號就是黑蘋果可以使用的。為什麼?因為這個序列號並不是不存在(符合編碼規則),蘋果說無效可能意味著它還未註冊,反之,如果蘋果官網顯示出了正確的查詢結果,那麼這個序列號屬於已註冊的白蘋果,強烈建議不要使用,大機率會導致AppleID被拉黑。
(2)APP ID無法啟用iCloud、Imessages、FaceTime等應用?
記錄良好的
Apple ID:App Store 和 iMessage 沒有黑歷史;賬號註冊及使用時間越長越好;賬號下繫結了多個蘋果裝置並且有 App
Store 的消費記錄就更好了。有了這種 Apple
ID,三碼問題和各類蘋果服務不能用的情況基本不會在你這裡出現。與之對應的另一種情況就是,一個新註冊的
ID,沒有繫結任何裝置,沒有消費記錄甚至沒有繫結支付方式,這樣的賬號在蘋果的伺服器看來就是一個機器人賬號,新賬號+黑蘋果,基本上一登入就會被自動拉黑。
(3)解決一些蘋果服務(iCloud/App Store/FaceTime/iMessage)不能啟用或無法正常使用方面的坑
1)安裝蘋果系統的怎麼無法登陸app id,使用id啟用imessage就提示鑑定失敗?
2)iMessge群發是不是風控了,無法傳送了?
3)安裝的蘋果系統怎麼傳送幾封就無法傳送或傳送失敗了?
4)安裝蘋果系統的怎麼無法修改三碼或五碼?
5)Vmware下透過ISO映象安裝蘋果系統無法使用iMagess或ID登陸後傳送幾封就開始顯示送達失敗?
鑑於以上問題,筆者給出肯定的答案,一直是可以發的,鑑於出現以上問題,分析得出:
1)你所安裝的黑蘋果系統與你的電腦硬體(主機板、CPU、顯示卡等硬體)不符。
2)你的電腦硬體配置上所安裝的黑蘋果系統與正品Mac的機型ID不符
3)你安裝的mac os系統注入的裝置串碼(五碼)不匹配
4)你所安裝的黑蘋果系統是否支援NVRAM
系統是否支援NVRAM,取決於主機板。NVRAM在黑蘋果中有及其重要的作用,第一,是用於重啟後儲存與藍芽、螢幕亮度、系統音量、iMessage、FaceTime等相關引數;第二,Clover和OpenCore需要NVRAM支援才能支援系統啟動磁碟設定(例如Bootcamp功能);第三,用於支援NVIDIA
Web Driver
Manager等相關功能。配置功能完善的NVRAM,會讓你的黑蘋果系統完善,較白蘋果來講上述功能幾乎沒有區別。總之一句話,NVRAM
對於蘋果服務能否正常工作至關重要。
二、iMessage賬號獲取
/* 群發iMessage主要需要攻破兩個技術難點,一個是iMessage賬號的獲取,另一個是群發iMessage。*/
1.iMessage賬號獲取,iMessage賬號目前獲取的方法主要是掃描手機號碼或郵箱賬號。掃描手機號碼或郵箱賬號可以透過程式碼自動掃描,也可以透過人工篩選。
2.編寫AppleScript指令碼控制Mac OS自帶的iMessage客戶端進行驗證,類似於群發iMessage。傳送一條iMessage之後,如果捕獲到傳送失敗的異常則不是iMessage賬號
3.人工篩選,將要驗證的號碼輸出到檔案中,以逗號分隔。再將檔案中的號碼貼上到iMessage客戶端的位址列,iMessage客戶端會自動逐個檢驗該號碼是否為iMessage賬號,檢驗速度視網速而定。其中紅色表示不是iMessage賬號,藍色表示iMessage賬號以及未檢驗的賬號,介面一般只能調200次左右,之後重啟系統次數會清零.
三、iMessage推送技術實現
注意:文中包含的程式碼、軟體、系統、圖樣等是作為技術研究,請勿作為非法用途,因違反相關規定的,一切後果自負,與作者無關。
1.檢驗完所有賬號後,群發的兩個方法(一個是透過iMessage客戶端,另一個是透過AppleScript指令碼控制iMessage客戶端傳送, 最新升級版群發請參考首頁相關文章: https://www.cnblogs.com/imblog/)
以下為簡易版示例程式碼:(完整版包含:根據CPU架構,顯示卡,主機板等硬體定製的配套EFI引導檔案部署的多個Mac OS系統、配套裝置串碼工具、群髮指令碼等,有意可聯絡)
1 tell application "Messages"
2 set csvData to read "/Users/使用者/Desktop/test.txt"
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 then
12 repeat with j from 1 to FailNum
13 set phone to (get name of chat (FailNum-j))
14 set DelMsg to "iMessage;-;" & phone
15 if exists (text chat id DelMsg) then
16 delete text chat id DelMsg
17 end if
18 end repeat
19 end if
20 end repeat
21 end tell
四、傳送端的Apple ID要求:
1、由於國內賬號會遮蔽很多軟體,需要用其他國家的ID下載,美國/韓國/日本/香港/臺灣等地區的Apple id可以下載各類軟體,沒有限制。
2、Apple ID 是您用於訪問 Apple 服務的帳戶,這些服務包括 App Store、Apple Music、iCloud、iMessage 資訊、“FaceTime 通話”等。一般海外的蘋果賬號功能最全。
五、AMD或英特爾架構的真機下安裝多個Mac os系統或者Vmware下多開的黑蘋果系統imessages群發簡訊注意事項:
/* 真機安裝的黑蘋果作業系統(Mac Os)或者VMware Workstation安裝的黑蘋果裝作業系統, 首先登入 app store,再開啟iMessages程式,再啟動apple script指令碼進行群發。*/
1.黑蘋果(Mac Os)系統無法登陸 App Store 或無法啟用iCloud,無法登入Imessages,Face Time的解決辦法。(確保你的蘋果系統(Mac OS)正常啟動後瀏覽器可以上網的前提下)
(1)AMD或英特爾架構的真機或Vmware下安裝的Mac OS黑蘋果正確的注入三碼或五碼(三碼或五碼不能胡亂套用,必須和機型 ID 匹配,Apple裝置序列號查詢:https://checkcoverage.apple.com/?locale=en_US)
黑蘋果系統注入三碼或五碼示例如下:
1 board-id = "xxx-xxxxxxxxxxx" #主機板序列號
2 hw.model = "MacBookProxx,x" #型號
3 serialNumber = "xxxxxxxxxx" #序列號
4 efi.nvram.var.ROM = "xxxxxxxxxxx" #ROM號
5 efi.nvram.var.MLB = "xxxxxxxxxxxxxxx" #MLB號
(2) 開啟“偏好設定-網路-高階-DNS” 配置IP地址為 114.114.114.114 或 8.8.8.8
(3) 登入“偏好設定-icloud” 在正確輸入App ID賬號資訊後,即可成功登入。
2.黑蘋果洗白,注入三碼或五碼,iCloud、iMessages 、FaceTime 可用
/* 如果登陸app store過程一直在轉圈的情況,或imessages一直無法啟用的原因是:app store 會檢查機器的smbios 資訊,如果不是 mac 機器,就不讓登入。*/
(1) Hackintool 或 Clover configurator 或 OpenCore正確的注入三碼或五碼
(2) 登入“偏好設定-icloud” 或直接登入imessages時正確輸入app id賬號資訊後,即可成功登入
3.黑蘋果洗白蘋果後自動群發方案
(1)關於蘋果手機傳送imessages以及批次群控手機裝置傳送,部署方案以及蘋果手機群髮指令碼APP可參考博文:https://www.cnblogs.com/imblog/p/18105253.html
(2)電腦版群發部署,根據CPU,主機板,顯示卡等硬體資訊製作與機型匹配的Mac系統,並且正確的給部署的mac os系統注入與機型一致的五碼洗白蘋果後群發iMessages
(3)傳送多少被限制,被風控, APP ID被凍,裝置串碼(序列號,裝置串碼等)被apple拉黑,無法傳送及送達,透過部署安裝與硬體資訊匹配的蘋果系統,且機型ID也要一致,最後正確注入三碼或五碼到系統來解封ID被封或無法傳送等問題。