• 三种消息在使用层齐了(文字/图片/语音全走内部 API 全合成):
    
    - wechat_send.sh voice: 弃用旧 SEND_VOICE_INTERNAL(hot-swap 相关),改走 SEND_VOICE_CGI
      全合成。SILK 须 WeChat 进程可读——动态取 WeChat uid(stat /data/user/0/com.tencent.mm),
      stage 进 /data/data/com.tencent.mm/files/ + chown + restorecon(/sdcard EACCES、
      root cp 进沙盒需正确 owner+ctx)。
    - wechat_hook_send.py: 新增 send_voice_cgi_via_hook(同上 staging + 广播 SEND_VOICE_CGI)。
    - android_mcp.py: send_wechat_voice 改调 send_voice_cgi_via_hook,docstring 更新为全合成。
    - skill_wechat_send/SKILL.md: 语音段改写为 SEND_VOICE_CGI 全合成用法。
    
    真机验证:wechat_send.sh voice + MCP send_voice_cgi_via_hook 均 status=sent +
    hook svrMsgId>0(uploadvoice cgi 服务器接受)。
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »
  • 图片 CDN 上传打通后,把发图能力接进使用层:
    
    - skill_wechat_send/SKILL.md: 图片段 🟢→✅,给出 SEND_IMAGE_INTERNAL 广播 +
      wechat_send.sh 封装用法,标注真机验证(filehelper + 火星人全图收到)。
    - wechat_send.sh image: 弃用旧的 share intent + 手动选联系人(UI 模拟),
      改走内部 API 广播 SEND_IMAGE_INTERNAL;先 stage 到 /sdcard 保证 WeChat
      进程可读,再 fire-and-forget 到 <wxid>。真机验证 oj()+CDN submit 均 DONE。
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »

  • 逆向微信 8.0.74 内部发送 API(LSPosed,无 UI 模拟):
    
    - 文字(中英文): w11.r0(type=1) Object-ctor + z2.b NetSceneQueue,真机验证送达。
      中文走 text_b64 base64 通道避免 shell 损坏 UTF-8。避开 dk5.s5.Ni(实为发名片)。
    - 图片: hook 真实发送抓 o70.h/o70.k/o70.i 原样重放,攻克消息构建——
      能建 type=3 图片消息、缩略图渲染、进 pt0.e0 管线;全图 CDN 上传是最后一公里。
    - 语音: jg0.x.w hot-swap(真机验证投递)。
    - wxid 解析: EnMicroMsg.db SQLCipher 解密(key=MD5(imei+uin)[:7])查 rcontact。
    - 坑: 真实代码在 Tinker 补丁 CL(hook 用 sTinkerCL);force-stop 不 flush 加密 WAL。
    
    产物: WECHAT_SEND_API.md(完整逆向文档)+ skill_wechat_send/SKILL.md
         + backups/(WeChatHook.java 快照 + 构建/发送脚本)。
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »