davidsangouard/imessage-bulk-sender
GitHub: davidsangouard/imessage-bulk-sender
一款 macOS AppleScript iMessage 群发工具,专为 smishing 安全研究、防范意识培训与红队模拟场景设计。
Stars: 0 | Forks: 0
# iMessage 群发工具
一款 macOS AppleScript 实用工具,可自动向多名收件人群发 iMessage。从文本文件中读取联系人,发送个性化消息,防止重复发送,并记录每次发送尝试。
## 功能特点
- 📋 **群发消息** - 通过简单的 `.txt` 文件向数百名联系人发送消息
- 📱 **支持电话号码和 Apple ID** - 兼容手机号码和基于电子邮件的 Apple ID
- 🔁 **防止重复发送** - 同一天内不会向同一联系人重复发送
- 📝 **发送日志记录** - 包含时间戳、状态和错误详情的完整日志
- 😀 **随机表情注入** - 在每条消息后附加一个随机 emoji
- ⏱️ **发送延迟** - 可配置消息间的发送延迟,以避免速率限制
- 🖼️ **图片支持** - 可选的图片附件(已注释,易于启用)
## 环境要求
- macOS(已在 macOS 10.14+ 上测试)
- 配置了活跃 iMessage 账户的“信息”应用
- Script Editor(macOS 内置)
## 设置说明
1. 克隆或下载此代码库
2. 在与脚本相同的目录下创建一个 `phoneNumber.txt` 文件
3. 每行添加一个收件人 - 可以是 11 位电话号码或 Apple ID(电子邮件):
```
12025551234
john@example.com
14155559876
```
4. 在 **Script Editor** 中打开 `iMessageScript.scpt`
5. 在脚本中编辑消息内容(搜索 `myMessage` 变量)
6. 创建所需的输出文件夹:
```
mkdir send log
```
7 运行脚本 - 确保 Messages.app 已打开并登录
工作原理
```
phoneNumber.txt
│
▼
Parse contacts
│
▼
For each contact:
├── Already sent today? → Skip
├── Send iMessage via Messages.app
├── Log result (send/ and log/)
└── Wait 0.5s before next send
│
▼
Popup: X sent, Y failed
```
## 项目结构
```
imessage-bulk-sender/
├── iMessageScript.scpt # Main AppleScript
├── phoneNumber.txt # Your recipient list (create this)
├── send/ # Auto-created - daily dedup tracking
│ └── YYYY-MM-DD.txt
└── log/ # Auto-created - full delivery logs
└── YYYY-MM-DD.txt
```
## 配置说明
在 ``iMessageScript.scpt`` 内部,您可以自定义以下内容:
变量 | 说明
-------- | -------------
myMessage | 要发送的消息文本
delay 0.5 | 发送之间的暂停时间(秒)
RandomFace() | 从随机表情池中添加/移除表情符号
Image path | 取消注释图片附件块即可发送照片
## 日志
每天会生成两个文件:
- send/YYYY-MM-DD.txt - 已联系号码列表(用于去重)
- log/YYYY-MM-DD.txt - 包含时间戳和状态的完整日志
## 相关研究主题
Smishing(SMS/iMessage 钓鱼)防范意识
macOS 自动化攻击面
通过原生消息应用进行社会工程学攻击
Apple 平台上的红队工具
## 许可证
基于 MIT 许可证分发。有关更多信息,请参阅 LICENSE。
标签:AppleScript, ESC8, iMessage, 批量发送, 社会工程学, 网络调试, 自动化