一、imessages数据检测的两种方式:
1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。
2.编写苹果Mac Os操作系统下的脚本程序进行过滤(全自动无痕检测,无需人工干预),将数据输入到号码文本框之后,如果捕获到失败的异常则不是iMessage账号,捕获到成功则把数据保存下来。
3.升级版相关参考博文首页相关文章:http://www.opsers.net/
二、实现全自动无痕检测数据是否启用或开通imessages
电脑版全自动无痕检测手机号是否注册iMessage(注意:检测不同国家手机号需要在手机号的前缀 +国家代码即可,自动无痕检测导入的txt数据,蓝色的手机号数据自动保存,有偿提供系统运行环境+检测程序或源码)
全自动无痕检测手机或邮箱号是否注册iMessage的代码示例:
-- 检测手机号或邮箱号是否注册imesaages,imessages蓝号检测
-- 检测是iMessge数据存放位置 -> send/已开启im的数据.txt
-- 检测不是iMessge数据存放位置 -> send/未开启im的数据.txt
startApp()
--Get_UI() --获取iMessages应用所有ui元素
--获取Messages应用所有ui元素
on Get_UI()
tell application "Messages" to activate
tell application "System Events"
tell process "Messages"
tell window 1
entire contents
end tell
end tell
end tell
end Get_UI
--检测数据是不是imessage数据
on startApp()
tell application "Finder" to activate
tell application "Finder"
set chosenfile to (choose file)
end tell
tell application "Messages"
tell application "Messages" to activate
set phoneData to read chosenfile
set cards to paragraphs of phoneData
repeat with phone in cards
--set msgText to (my AppendFace(" "))
-- 假如字符串大于0,则草率判定是手机号
set num to the length of phone
if (num > 0) then
--执行检测
my sendMsg(phone)
delay 1
end if
end repeat
display dialog "恭喜,数据已全部检测完毕!"
end tell
end startApp
# 执行检测
on sendMsg(phone)
tell application "Messages" to activate
tell application "System Events"
tell process "Messages"
tell window 1
--核心代码,省略.........
if static text of sheet 1 of window "信息" of application process "Messages" of application "System Events" exists then
--对未启用imessage的手机号码进行记录
my WritePhone(phone, "未开启im的数据.txt")
else
--对已启用imessage的手机号码进行记录
my WritePhone(phone, "已开启im的数据.txt")
end if
delay 0.2
key code 76
end tell
end tell
end tell
end sendMsg
-- 记录有效手机号
on WritePhone(the_phone, file_name)
set num to the length of the_phone
if (num > 0) then
set fileName to date string of (current date)
set logFilePath to my current_folder_path() & "send/" & file_name
set this_file to (POSIX file logFilePath as string)
set this_story to the_phone & "
"
try
set fp to open for access this_file
set myText to read fp
if (myText does not contain the_phone) then
my write_to_file(this_story, this_file, true, true)
end if
on error
my write_to_file(this_story, this_file, true, true)
end try
end if
end WritePhone
-- 写入文件
on write_to_file(this_data, target_file, append_data, append_end)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
else if append_end is false then
try
set fp to open for access target_file
set myText to read fp
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
write myText to the open_target_file starting at eof
on error
write this_data to the open_target_file starting at eof
end try
else
write this_data to the open_target_file starting at eof
end if
close access the open_target_file
return target_file
on error
try
close access file target_file
end try
return false
end try
end write_to_file
-- 获取当前文件的父文件夹路径
on current_folder_path()
set UnixPath to POSIX path of ((path to me as text) & "::")
return UnixPath
end current_folder_path
1.Mac OS电脑版全自动无痕检测数据是否是imessages数据(默认0.2-0.5秒检测一个)
2.苹果手机版(ios系统)全自动无痕检测数据是否imessages(自动记录已开启和未开启的数据)