• **WeChatHook.java — 语音发送四个关键 fix**:
    - 跳过 H():DB INSERT 在 r0 构造器内已完成,H() 只触发 CDN 上传,
      服务端拒绝后会删消息;skip H 彻底解决消息消失问题
    - status=4 双写:ContentValues + f9.r1(4) 内存字段同时写,
      防止 K(0) 回调再次 convertTo 时读到 status=1 覆盖回转圈
    - sDatabaseF9 精准捕获:在 convertTo() hook 里捕获入库的 f9 对象
      放入 r0.i,修复旧逻辑取第三个 f9(内容为空)导致点击崩溃
    - K(0) 而非 I(0):onSceneEnd code=0 时调成功路径 K 而非失败路径 I,
      修复红色感叹号问题
    - fromusername 兜底:sMyWxid 为 null 时回退硬编码 wxid
    
    **tts_voice_send.sh(新)**:
    一行命令 TTS 发语音:edge-tts → ffmpeg(16kHz PCM) → silk-wasm(SILK V3) → adb push → SEND_VOICE_INTERNAL
    
    **wechat_send.sh(新)**:统一 text / image / voice 三种发送模式的 CLI
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »

  • Hermes 重编 APK 时连踩三坑导致平板登录失效:
    1. 用 XposedBridgeApi.jar 而非 LSPosed legacy JAR 编译 → 所有 hook NoSuchMethodError
    2. xposed_init 放在 APK 根目录而非 assets/ → daemon 验证失败每次重启自动删模块 DB 注册
    3. 换了 keystore → INSTALL_FAILED_UPDATE_INCOMPATIBLE
    
    修复:从 wechathook_v2_signed.apk(正确 legacy JAR 编译)提取 DEX 复用,重打包含正确
    assets/xposed_init,debug.keystore 签名,fix_lspd_final.py 重建 DB 注册。
    2026-07-04 重启后验证平板登录恢复正常,所有 tablet hook 日志无 NoSuchMethodError。
    
    新增文件:
    - wechathook_v2_signed.apk: 黄金基准 APK(legacy JAR 编译,DEX 可复用)
    - do_not_break.md: 给 Hermes 的禁止事项清单
    - hermes_task.md: 已在顶部加 DO NOT BREAK 警告 banner
    - analyze_wechathook.py: DEX 字节码分析工具(Tinker patch)
    - rebuild_wechathook.sh / update_wechathook_db.sh: Mac 侧重建脚本
    - termux_build.sh: Hermes 的手机侧 build script(有编译 JAR bug,留作参考)
    - wechat_send_internal/: Hermes 对 WeChat 内部发送 API 的研究产出(进行中)
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »