-
已装到设备 ~/.hermes/skills/wechat-pad-login-repair/。Hermes 能做诊断(logs/dumpsys)+ no-rebuild 修复(reboot+install-existing/导航到 LoginPasswordUI)+ Case B(需重编译/逆向) 收集证据升级给人/Claude。Pixel Termux 有 d8/apksigner 但当前模块源码在 Mac,~/WeChatHook 是旧 stub,故 Hermes 不做重编译。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
-
订正旧结论:平板登录被拒根因是 **Pixel 机型不在微信平板白名单**(bk.B/Q 设备型号 校验 + 服务端副设备机型校验),**与账号「体验资格」无关**——实测同一个小火子老账号 (当初被归咎为体验资格过期那个)伪装成三星 Galaxy Tab S8(SM-X700) 后平板登录成功。 4 个 hook(缺一不可): - hookDeviceSpoof(主进程): setStaticObjectField(android.os.Build,…)=samsung/SM-X700/ gts8wifi + hook SystemProperties.get 返回 ro.product.*=同款 + ro.build.characteristics =tablet。DEVICE_SPOOF 开关。伪装仅微信进程内(getprop 仍显 Pixel)。 - hookInTabletEnv: bk.A/B→true 兜底。 - hookLoginHistoryUIInitView/hookLoginUIInitView: LoginPasswordUI/LoginHistoryUI.onCreate 强制「以平板登录」按钮(字段 N) setVisibility(VISIBLE)+挂 m4 点击。 关键 Tinker CL 坑: 登录 UI 跑在 Tinker CL,登录 hook 必须也注册到 sTinkerCL——否则 onCreate hook「注册了但 0 次触发」(N VISIBLE 计数 0),退出登录后到 LoginPasswordUI (对的页)但没按钮。加 sTinkerCL 注册后日志出 N VISIBLE + m4 attached,按钮即现。 rebuild stub 补 setStaticObjectField/getStaticObjectField。逆向+DEX 分布见 wechat_pad_login/LESSONS.md。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
-
目标设备:Pixel 10 Pro Fold / Android 16 / WeChat 8.0.74 - WeChatHook.java:双保险策略 1. hook bk.A()/bk.B() 返回 true(静态方法,AOT 不内联则有效) 2. hook Activity.onResume() 保底:框架跨 APK 调用无法被 WeChat AOT devirtualize,必然触发,直接强制平板按钮(LoginHistoryUI.N) VISIBLE - rebuild.sh / update_db.sh:一键编译部署脚本 - LESSONS.md:逆向过程、AOT devirtualize 坑、XposedHelpers.newInstance 子类类型陷阱等经验总结 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>