fix(shangwutong): map kind 24 contact cid (#12)
Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
日期:2026-08-13
|
||||
|
||||
依赖:`reference/shang-wu-tong/reverse/swt-decompiled/`、H-47 脱敏真实 kind 统计。
|
||||
|
||||
## 结论
|
||||
|
||||
商务通实时入站的 `cid` 来自 `kind=24` 的 text,不需要等待 `kind=52` 历史批次,也不能用 `sid` 替代。
|
||||
|
||||
## 协议证据
|
||||
|
||||
- `HeartBeat.java:520` 将 `kind=24` 排除出普通事件分支,`:3458-3463` 直接把已解码 `text2` 写入 `ChatBean.cookies`。
|
||||
- `HeartBeat.java:566-578` 将 `kind=52` 历史记录第二字段 URL 解码后写入同一 `ChatBean.cookies`。
|
||||
- `ChatDetailFragmentMessage.java:780-860` 调用 `RenamedThread` 修改昵称。
|
||||
- `RenamedThread.java:35-48` 把 `ChatBean.cookies` 作为 `oc/changecname.aspx` 的 `cid` 表单字段。
|
||||
|
||||
因此 Connector 只接受 APK 已证实的 `kind=24` 和 `kind=52` CID 来源。`kind=65`/渠道 JSON 可能有同名字段,但属于渠道扩展协议,不作为通用来源;其他 kind 即使正文出现 `cid`、`SWTCID` 或 `sid` 也不得猜测。
|
||||
|
||||
## 脱敏真实样本
|
||||
|
||||
授权轮询仅保留 kind 分布:`0/1/3/6/7/8/11/23/24/31/65/67/71/73/82`,`kind=52` 为零。未保留访客正文、完整 SID、CID 或凭据。
|
||||
|
||||
该分布覆盖到 `kind=24`,说明旧实现把它标记为 ignored 是昵称回写无 CID 的直接根因。
|
||||
Reference in New Issue
Block a user