2026-09-28 · 静态分析
最大 JavaScript 的结构
首页脚本中最大的是 app.ba10bea960c1045090a2.js,原始大小为 2,004,991 字节。它不是加密文件,而是 Webpack 打包、转译并部分压缩后的代码。
拆包结果
| 项目 | 结果 |
|---|---|
| 入口形式 | webpackJsonp([6], [...], [...]) |
| 模块数组槽位 | 1,353 |
| 实际模块 | 747 |
| 空槽位 | 606;一般由多个分块共用模块 ID 空间形成 |
| 原始 SHA-256 | 315f49b0400b2466e2d9d3a79b670c758675da3beedb1af178e324ef5dc891c9 |
| 附加代码 | Webpack 调用之后还有 8 个顶层语句,包含线路状态检测与弹窗函数 |
每个模块均保留编号、原始字节偏移、单独格式化源码、静态依赖及 SHA-256;可在 模块总览 中逐个打开。
功能结构
| 模块 | 作用 | 依据 |
|---|---|---|
| #436 | Vue Router 路由表和导航规则 | routes、path、beforeEach 等结构 |
| #180 | dev/staging/rel/production 环境配置、接口基址 | SERVER_URL、API_VERSION 等字段 |
| #4 | 登录、设置、加载等状态动作常量 | session_LOGIN、settings_GET_SETTINGS |
| #479 | 主布局和站点导航逻辑 | 页面链接、导航配置与相关组件引用 |
| #987 | 时区数据 | zones 数据集;178,856 字节,为最大单模块 |
| #1350 | 中文界面文案和错误信息 | commonError 等字典 |
主路由覆盖首页、赌场、游戏、优惠、常见问题、工具、代理和账户相关页面。路由表与 Vue 单文件组件的脚本、模板、样式经过构建后分散在不同模块中;索引中的类型是基于代码特征的推断,不能视为原始源文件名。
模块分布
| 类别 | 数量 | 判定方式 |
|---|---|---|
| Vue 组件装配 | 119 | 调用组件归一化函数并关联脚本、模板与样式 |
| Vue 渲染模板 | 128 | render / staticRenderFns |
| 静态图片路径 | 124 | 导出 static/img/… 等资源路径 |
| 内嵌图像 | 67 | 导出 data:image/… |
| 样式或空模块 | 148 | 构建产生的小型模块;存在启发式误差 |
| 其余逻辑、配置与数据 | 161 | 业务函数、页面脚本、字典等 |
运行与恢复边界
- 入口的
manifest脚本负责模块缓存和按需加载,主app为分块 6,vendor为分块 7。 - 主包中发现异步加载对分块 0–5 的引用,但这些分块在采集时由源站返回 404。若某些页面依赖它们,研究副本也无法恢复其行为。
- 源站的
app.js.map返回 404。构建前的原始变量名、文件路径、注释与 TypeScript/Vue 源码无法可靠重建。 - 公开前端资源可复制;服务端接口、数据库、登录状态及第三方聊天服务不在副本中。部分图片路径在源站亦返回 404。
方法
先对首页公开加载的脚本测量体积,再用 JavaScript AST 解析最外层 webpackJsonp 调用和模块数组;根据 AST 字节偏移切出每个模块,以 Prettier 格式化。静态依赖来自模块内数字 ID 的 require 调用,动态路径和运行时分支无法由此证明。所有模块可下载核验,报告中的功能名称基于可见代码推断。