工具链(3DTank/tools/):extract(模块提取)、mine_evidence/apply_names(命名证据与别名回填)、extract_codec_fields(字段表 + 全库槽位类型 + PrimClassWire/ResourceClasses)、mine_downlink(下行字段表)、extract_space_init/rebase_space_init/audit_space_init(空间模板与记录切分审计)、extract_space_session(把真实会话切成按上行触发的回放模板)、pair_flow(请求→应答配对)、probe_containers、ingest/decrypt_frames(抓包入库与解密)、serve/fetch_assets(本地站点镜像)、import_db(抓包对象仓库导入 MySQL)。 服务器(3DTank/tools/server/):link/entry/codec/container/dispatch/world/space/semantic(协议层与 lt/pt/zt 三个容器布局)、session(会话回放,顺序推进)、db + schema.sql(MySQL 连接层与对象仓库表结构)、store/responder(查库组帧与定向应答;接管范围默认只开 ba.lcr)。 同时修 pair_flow 的时间轴偏移:timeline_c2s 与 timeline_s2c 的 0 点相差 144~4453ms,改前配对整体偏约 2 秒(实测 space-100073070 偏 2084ms),改后 22.4% 的触发者被纠正。 src/、src_named/、packets/、3DTank/local/(含数据库口令)不进库,可用上述工具重新生成。
190 lines
6.5 KiB
JSON
190 lines
6.5 KiB
JSON
{
|
|
"name": "3dtank-reverse",
|
|
"version": "1.0.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "3dtank-reverse",
|
|
"version": "1.0.0",
|
|
"dependencies": {
|
|
"acorn": "^8.12.1",
|
|
"acorn-walk": "^8.3.3",
|
|
"mysql2": "^3.24.4",
|
|
"prettier": "^3.3.3"
|
|
}
|
|
},
|
|
"node_modules/@types/node": {
|
|
"version": "22.20.3",
|
|
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.20.3.tgz",
|
|
"integrity": "sha512-DZmzkmwHzXrLPAXPyKNDzlIwMMUZCVacoD25ywdy5YTKGbOx/2ld+Q38Im2zJ0vBuZP5Prd3VZutKZyXwkOS8A==",
|
|
"license": "MIT",
|
|
"peer": true,
|
|
"dependencies": {
|
|
"undici-types": "~6.21.0"
|
|
}
|
|
},
|
|
"node_modules/acorn": {
|
|
"version": "8.18.0",
|
|
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.18.0.tgz",
|
|
"integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
|
|
"license": "MIT",
|
|
"bin": {
|
|
"acorn": "bin/acorn"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.4.0"
|
|
}
|
|
},
|
|
"node_modules/acorn-walk": {
|
|
"version": "8.3.5",
|
|
"resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.5.tgz",
|
|
"integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"acorn": "^8.11.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.4.0"
|
|
}
|
|
},
|
|
"node_modules/aws-ssl-profiles": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmmirror.com/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz",
|
|
"integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">= 6.0.0"
|
|
}
|
|
},
|
|
"node_modules/generate-function": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmmirror.com/generate-function/-/generate-function-2.3.1.tgz",
|
|
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"is-property": "^1.0.2"
|
|
}
|
|
},
|
|
"node_modules/iconv-lite": {
|
|
"version": "0.7.3",
|
|
"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.7.3.tgz",
|
|
"integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
},
|
|
"funding": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/express"
|
|
}
|
|
},
|
|
"node_modules/is-property": {
|
|
"version": "1.0.2",
|
|
"resolved": "https://registry.npmmirror.com/is-property/-/is-property-1.0.2.tgz",
|
|
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/long": {
|
|
"version": "5.3.2",
|
|
"resolved": "https://registry.npmmirror.com/long/-/long-5.3.2.tgz",
|
|
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
|
"license": "Apache-2.0"
|
|
},
|
|
"node_modules/lru.min": {
|
|
"version": "1.1.5",
|
|
"resolved": "https://registry.npmmirror.com/lru.min/-/lru.min-1.1.5.tgz",
|
|
"integrity": "sha512-5J9ysMYUpYIg9RF2vJpy9SinEmSviFSe0GyPpCQ4L5QSkLAgeLXlTAOu2ZwWUU5m+0SBl6gUU1R1ZQB3aKypfA==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"bun": ">=1.0.0",
|
|
"deno": ">=1.30.0",
|
|
"node": ">=8.0.0"
|
|
},
|
|
"funding": {
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/wellwelwel"
|
|
}
|
|
},
|
|
"node_modules/mysql2": {
|
|
"version": "3.24.4",
|
|
"resolved": "https://registry.npmmirror.com/mysql2/-/mysql2-3.24.4.tgz",
|
|
"integrity": "sha512-A2olluVlj0mvgyIRRISMEzXc51m+21mRtcMVjJyIpt2GG98+XrC9m9HzsqcMsX2LcnfccJvY5NB22g8fENBnOA==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"aws-ssl-profiles": "^1.1.2",
|
|
"generate-function": "^2.3.1",
|
|
"iconv-lite": "^0.7.3",
|
|
"long": "^5.3.2",
|
|
"lru.min": "^1.1.4",
|
|
"named-placeholders": "^1.1.6",
|
|
"sql-escaper": "^1.5.1"
|
|
},
|
|
"engines": {
|
|
"node": ">= 8.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@types/node": ">= 8"
|
|
}
|
|
},
|
|
"node_modules/named-placeholders": {
|
|
"version": "1.1.6",
|
|
"resolved": "https://registry.npmmirror.com/named-placeholders/-/named-placeholders-1.1.6.tgz",
|
|
"integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"lru.min": "^1.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.0.0"
|
|
}
|
|
},
|
|
"node_modules/prettier": {
|
|
"version": "3.9.6",
|
|
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.9.6.tgz",
|
|
"integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==",
|
|
"license": "MIT",
|
|
"bin": {
|
|
"prettier": "bin/prettier.cjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=14"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/prettier/prettier?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/safer-buffer": {
|
|
"version": "2.1.2",
|
|
"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/sql-escaper": {
|
|
"version": "1.5.2",
|
|
"resolved": "https://registry.npmmirror.com/sql-escaper/-/sql-escaper-1.5.2.tgz",
|
|
"integrity": "sha512-6CKD38c31SENivxOADeMNLdukOnUxUcflKtzVWzace7Riv1v7cAEym5Cx9Q7gYZ3ezIJI7ZpqecQq8cqNeSSFg==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"bun": ">=1.0.0",
|
|
"deno": ">=2.0.0",
|
|
"node": ">=12.0.0"
|
|
},
|
|
"funding": {
|
|
"type": "github",
|
|
"url": "https://github.com/mysqljs/sql-escaper?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/undici-types": {
|
|
"version": "6.21.0",
|
|
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz",
|
|
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
"license": "MIT",
|
|
"peer": true
|
|
}
|
|
}
|
|
}
|