硕士生
 
- 金币
- 3032
- 好评
- 14
- 信誉
- 101
|
发表于
2026-5-14 14:08:46
来自手机
|
显示全部楼层
来自 重庆
本帖最后由 则铭 于 2026-5-14 14:11 编辑
## 会员核心管理架构
### 1. 会员状态存储
- **JTb.Feo** (偏移 0x2628): 静态late字段,存储会员状态对象
- **field_27**: 会员状态标志位字段,**bit 4** 是VIP状态标志
- bit 4 = 1: VIP会员
- bit 4 = 0: 非会员
### 2. 会员标记
- **jcc.XAe** (偏移 0x1a94): 静态late final字段,用于标记当前用户是否为VIP
- 在 [mEz.dart](file:///home/tiny/sd/11/x/asm/mEz.dart#L836) 等多处初始化
- 类型参数为 `<ecc, icc>` - ecc表示成功结果,icc表示错误类型
### 3. 会员检查流程 (以API翻译为例)
在 [Iaz.dart](file:///home/tiny/sd/11/x/asm/Iaz.dart#L219-L280):
```
0x1dc5468: LoadField: r1 = r0->field_27 ; 加载会员状态
0x1dc5470: tbz w1, #4, #0x1dc5540 ; 测试bit 4,如果非VIP跳转
0x1dc5474: InitLateStaticField(jcc.XAe) ; 初始化VIP标记
0x1dc549c: call 0xd33920 ; 调用Pro专属API
0x1dc54a0: LoadClassIdInstr(r0) ; 检查返回结果
0x1dc54a8: cmp x1, #0x8e2 ; 比较class ID (icc)
```
### 4. 会员专属API (0xd33920)
- 返回 ecc 类型表示成功/可用
- 返回 icc (class ID 0x8e2/0x8e3) 表示错误(需要会员)
- 0x8e2: 简体中文错误
- 0x8e3: 繁体中文错误
### 5. 会员功能列表 (从 pp.txt 发现)
| 功能Key | 中文名称 | 描述 |
|---------|---------|------|
| premium_feature_unlimited | 無限制閱讀 | 暢享所有高階功能 |
| premium_feature_sync | 多裝置同步 | 手機、平板、電腦無縫同步 |
| premium_feature_columns | 雙欄排版 | 大屏裝置閱讀更舒適 |
| premium_feature_tts | 語音朗讀 | 支援自定義語音引擎 |
| premium_feature_translate | AI & API 翻譯 | 需要配置翻譯服務金鑰 |
| premium_feature_font | 自定義字型 | 匯入自定義字型 |
| premium_feature_theme_effect | 主題特效 | 飄雪、雨幕、流星等動態效果 |
| premium_feature_full_text_translate | 全文翻譯 | 沉浸式翻譯和替換翻譯 |
| premium_feature_progress | 全進度 | 顯示全文閱讀進度 |
| premium_feature_privacy | 隱私保護 | 私密書籍加密 |
| premium_feature_platform | 全平臺解鎖 | 支援iOS/Android/Mac/Windows/Linux,最多6設備 |
| premium_feature_ai | AI功能 | (详细内容見pp.txt) |
### 6. JTb类方法
在 [addNames.r2](file:///home/tiny/sd/11/x/r2_script/addNames.r2#L32625-L32638):
- `JTb.Keo`: 主方法
- `JTb._anon_closure`: 匿名闭包方法
### 7. 会员验证入口文件
- [Iaz.dart](file:///home/tiny/sd/11/x/asm/Iaz.dart): API翻译会员检查
- [Haz.dart](file:///home/tiny/sd/11/x/asm/Haz.dart): 类似翻译检查
- [mEz.dart](file:///home/tiny/sd/11/x/asm/mEz.dart): 多处VIP功能检查 (新主題等)
- [Bfz.dart](file:///home/tiny/sd/11/x/asm/Bfz.dart): 会员功能调用
### 8. API端点
- `/api/trans/vip/translate` - VIP专属翻译API
**总结**: 会员系统通过 JTb.Feo.field_27 的 bit 4 判断会员状态,通过 jcc.XAe 标记当前用户,调用 0xd33920 地址的Pro API来验证权限并返回对应的多语言错误信息(icc类)。 |
|