• wechat_hook_send.py:
    - 新增 _tts_to_silk(): edge-tts → ffmpeg → silk-wasm 完整 TTS 管线
      支持 on-device (Termux) 和 off-device (Mac adb push) 两种运行模式
    - 新增 send_voice_tts_via_hook(): 文字 → 语音一步到位,
      自动处理 TTS/SILK 编码+WeChat cache 暂存+broadcast 发送
    
    android_mcp.py:
    - 新增 send_wechat_voice_tts MCP 工具(Hermes 直接传文字即可发语音)
      docstring 明确写明:不要自己实现 SILK,调这个工具就行
    
    docs/wechat-voice-send-guide.md (新):
    - Hermes 调用说明:正确姿势 / 声音选项 / 依赖安装 / 常见错误 / 技术背景
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    yibo authored
     
    Browse File »

  • frida_call 此前完全不可达(TASKS.md S3-03):Mac 端没装 frida/frida-tools
    pip 包。新建 phoneuse/.venv,锁定 frida==17.9.10 + frida-tools==14.8.0
    (与设备上跑的 frida-server 17.9.10 匹配,更新版本的 frida-tools 对 frida
    有严格 range 依赖会直接报错),新增 start_frida_bridge.sh 一键
    adb reverse + 起桥。
    
    新增 frida_inspect_tools.py:inspect_foreground_intent(package) /
    dump_live_bitmaps(package, max_export) 两个通用 MCP 工具,分别用
    Java.choose 枚举目标进程里存活的 Activity(按 hasWindowFocus 识别前台)
    和 Bitmap(按 allocationByteCount 排序导出最大的 N 张为 base64 PNG)。
    不需要逆向任何具体 App,跟 per-app hook(如微信 sendMessage,已被证实
    重度混淆卡死过)明确区分开。
    
    已知限制:frida_bridge.py 现有的进程名子串匹配按 frida 报告的人类可读
    标签匹配,不是包名,微信类多进程 App 会匹配到无 UI 的子进程导致静默空
    结果——两个新工具已对空结果加诊断提示,根因不在本次改动范围。真机端到
    端验证因设备从 adb devices 掉线未完成,TASKS.md 按既有审计格式如实标
    记为 [!] 阻塞,未来设备在线后用 Settings/Calculator 之类无隐私 App 补测。
    
    CLAUDE.md 补上 phoneuse 子项目说明——2026-06-23 拍平合并进本仓库后一直
    没同步进根文档。
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    yibo authored
     
    Browse File »

  • phoneuse 原是独立 git 仓库(origin: gitlab phoneuse.git),现移除其
    内部 .git 元数据,把代码拍平为本仓库的普通文件纳入历史。phoneuse 自身
    3 条 commit 历史仍完整保留在 gitlab 远端,未受影响。
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    yibo authored
     
    Browse File »