Skip to content

iOS 剪贴板监控 commands/ios/pasteboard.py ​

本模块用于启动一个长期 Job 监控 iOS UIPasteboard,当剪贴板出现新的字符串内容时实时上报。常用于捕获 App 复制的敏感文本(密码、2FA、Token)。命令组前缀为 ios pasteboard ...。

模块概览 ​

项目值
文件路径objection/commands/ios/pasteboard.py
Agent 实现agent/src/ios/pasteboard.ts
命令组ios pasteboard ...
依赖objection.state.connection、objection.utils.output

解决的问题 ​

  • 想被动等待 App 把敏感字符串写入剪贴板,而非主动枚举。
  • 监控是长期 Hook,新字符串由 Agent 异步消息发出,Agent 流程需明确轮询方式。
  • 与 Android clipboard 模块对应,iOS 侧仅提供「监控」动作。

命令清单 ​

命令函数说明
ios pasteboard monitormonitor()启动剪贴板字符串监控 Job

实现原理 ​

Python 层极简:调用 ios_monitor_pasteboard() 安装监控 Hook,无参数、无返回数据处理。新字符串由 Agent 以异步消息发出,因此 JSON 模式带两条 warning。

monitor() — 启动监控 ​

源码:objection/commands/ios/pasteboard.py:7

python
# objection/commands/ios/pasteboard.py:16-17
api = state_connection.get_api()
api.ios_monitor_pasteboard()

JSON 模式返回见 objection/commands/ios/pasteboard.py:19-27:

python
CommandResult(
    result={'action': 'monitoring_pasteboard'},
    warnings=['Job id not surfaced; use `agent state` to list running jobs.',
              'New pasteboard strings arrive as async messages.'],
)

JSON 模式行为 ​

返回 CommandResult(result={'action': 'monitoring_pasteboard'}),命令名 ios pasteboard monitor。两条 warning 提示 Job id 未暴露、新字符串以异步消息到达,需轮询 agent state 或 HTTP /events。非 JSON 模式静默返回 None。

源码索引 ​

符号位置
monitorobjection/commands/ios/pasteboard.py:7

相关文档 ​

基于 GPL-3.0-or-later 许可发布