SKILL.md
3.22 KB
name: wechat-internal-send description: 通过 LSPosed 内部 API 发送微信文字/图片/语音(调用微信自己的发送 API,无 UI 模拟点击) version: 1.0
category: communication
WeChat 内部 API 发送(文字 / 图片 / 语音)
通过 LSPosed 模块 wechathook 直接调用微信自己的内部发送 API,不模拟点击、不走无障碍。
逆向自微信 8.0.74。完整技术文档见 ../WECHAT_SEND_API.md。
When to Use
- 用户要求「发微信」「发条消息/图片/语音给某人」
- 需要程序化、无 UI 干扰地发微信(agent 自动发通知、日报、提醒)
前置:拿到 wxid
内部 API 认 wxid(username)不认昵称。从解密的 EnMicroMsg.db 查 rcontact:
# key = MD5("1234567890ABCDEF"+uin)[:7];本机 uin=215004919 → key=e03ce81
sqlcipher EnMicroMsg.db <<'EOF'
PRAGMA key='e03ce81'; PRAGMA cipher_compatibility=1; PRAGMA cipher_page_size=1024;
SELECT username,nickname FROM rcontact WHERE nickname LIKE '%火星人%';
EOF
# → yibooo(火星人的 wxid)
⚠️ 先只对
filehelper(文件传输助手,自己)测试,确认无误再发真人,避免账号风险。
能力与用法
✅ 文字(中英文,已验证送达)
# ASCII
adb shell su -c 'am broadcast -a com.hermes.wechat.SEND_MSG_INTERNAL --es to yibooo --es text "hello"'
# 中文(base64 避免 shell 损坏 UTF-8)
B64=$(python3 -c "import base64;print(base64.b64encode('你好'.encode()).decode())")
adb shell su -c "am broadcast -a com.hermes.wechat.SEND_MSG_INTERNAL --es to yibooo --es text_b64 '$B64'"
或用封装脚本:./wechat_send.sh text yibooo "你好火星人"
🟢 图片(消息+缩略图已可发,全图 CDN 上传是最后一公里)
adb shell su -c 'am broadcast -a com.hermes.wechat.SEND_IMAGE_INTERNAL --es to filehelper --es path /sdcard/Pictures/x.png'
现状:图片消息建成、缩略图渲染、进真实发送管线;全图 CDN 上传仍在完善(详见技术文档 §3)。
✅ 语音(TTS→SILK,半自动 hot-swap)
纯合成卡「发送中」,用 hot-swap:让微信真录一段 + 偷换 SILK 字节。
端到端脚本 ../tts_voice_swap.sh(需先打开目标聊天并处语音模式)。详见技术文档 §2。
不要做
- 不要用
dk5.s5.Ni发文字——那是发名片的(会得到失败的空名片)。 - 不要自己实现编解码 / 缩略图 / CDN 上传——都是 hook 内部的事。
- 不要假设 base.apk = 正在跑的码——真实代码在 Tinker 补丁里,hook 要用
sTinkerCL。 - 不要用 force-stop 后查库验证送达——SIGKILL 不 flush 加密 WAL,查不到最新。用实时截图/肉眼确认。
部署 / 重建 hook
export ADB=/opt/homebrew/share/android-commandlinetools/platform-tools/adb
export ANDROID_HOME=/opt/homebrew/share/android-commandlinetools
export JAVA_HOME=/opt/homebrew/opt/openjdk@17
bash ../rebuild_wechathook.sh # 编译+签名+安装+重启微信
相关
../WECHAT_SEND_API.md— 完整逆向技术文档(内部 API 结构、踩坑、图片链路)../wechathook_src/WeChatHook.java— hook 源码- memory
wechat-voice-send-internals.md— 逆向记录 + 踩坑史