🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文明哈希工具 Sumcam-L/dsh-civhash

DeepSeek Harness
Sumcam-L15 天前有提交已提供中文文档扫描:含敏感能力

计算与反推文明六资源名的哈希值

30/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Sumcam-L/dsh-civhash
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令
查看扫描证据(共 1 处,展示前 1 条)
  • 执行外部命令来自配置/变量
    src/index.ts:47
    const child = spawn(exe, args, { windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

CivNexus6 哈希逻辑做成独立命令行工具(civhash.exe)和 DSH 插件:Civ 风格 CRC32、引擎 FNV-1a、骨骼层级哈希与后缀反查

README

由 DeepSeek 最新模型翻译生成
dsh-civhash 把 CivNexus6 ConsoleApplication1 里的 hash 逻辑提取出来,做成独立的命令行工具(civhash.exe),再注册成 DSH 里 AI 可直接调用的工具。 Civ VI 引擎里,几乎所有资源名最终都会变成一个 32 位 hash:地形、资源、单位、骨骼、动画轨道……本工具能正向算出这个 hash,也能在已知前缀的前提下把后缀反推出来——排查「这串 hash 原本是哪个名字」时很有用。 能做什么 | 能力 | 说明 | | Civ 风格 CRC32 | 逐字复刻 ComputeHash(返回原始状态、无最终异或),同时输出标准 CRC32 便于对照 | | 引擎 FNV-1a | Platform::strhash / StaticHash_FNV1A 语义,支持自定义 seed 与大小写折叠变体(--fold) | | 骨骼链 hash | 沿父链自叶向根累加骨骼名,再累加轨道名,最后与 0xFFFFFFFF 异或 | | 反推后缀 | 已知前缀 + 目标 hash,在可控字符集内暴力搜索后缀(CRC 与 FNV 都支持) | 目录结构 dsh-civhash/ ├── cli/
展开完整文档(README 剩余 1 节)
dsh-civhash

把 CivNexus6 ConsoleApplication1 里的 hash 逻辑提取出来,做成独立的命令行工具(civhash.exe),再注册成 DSH 里 AI 可直接调用的工具。

Civ VI 引擎里,几乎所有资源名最终都会变成一个 32 位 hash:地形、资源、单位、骨骼、动画轨道……本工具能正向算出这个 hash,也能在已知前缀的前提下把后缀反推出来——排查「这串 hash 原本是哪个名字」时很有用。

能做什么

| 能力 | 说明 |
| Civ 风格 CRC32 | 逐字复刻 ComputeHash(返回原始状态、无最终异或),同时输出标准 CRC32 便于对照 |
| 引擎 FNV-1a | Platform::strhash / StaticHash_FNV1A 语义,支持自定义 seed 与大小写折叠变体(--fold) |
| 骨骼链 hash | 沿父链自叶向根累加骨骼名,再累加轨道名,最后与 0xFFFFFFFF 异或 |
| 反推后缀 | 已知前缀 + 目标 hash,在可控字符集内暴力搜索后缀(CRC 与 FNV 都支持) |

目录结构

dsh-civhash/
├── cli/
│ ├── civhash.cpp # CLI 源码;CRC32 表 / ComputeHash 逻辑逐字取自原工程 │ ├── build.cmd # MinGW g++ 编译(Windows) │ └── build.sh # 同上,bash 版 ├── bin/ │ └── civhash.exe # 随包分发的构建产物(由 cli/build 生成) ├── src/ │ └── index.ts # DSH 插件入口:注册 _dsh_external_dsh_civhash_hash ├── scripts/ │ ├── build.sh # 编译 TypeScript(src → lib) │ └── test.mjs # 对 bin/civhash.exe 跑已知向量 ├── cordis.patch.yml # DSH bundle patch ├── LICENSE # BSD-3-Clause ├── NOTICE # 上游 CivNexus6 署名 └── package.json

civhash.exe 用法

civhash <text> :: Civ 风格 CRC32(raw + 标准)
civhash <text> --fnv [--seed N] [--fold] :: 引擎 FNV-1a
civhash --bone Root/BoneA/BoneB :: 骨骼链 hash(路径自根到叶,末位为目标骨骼)
civhash --reverse <target>[,<target>...] [opts] :: 反推后缀(逗号分隔可批量)

--prefix 已知字段前缀(默认空) --max <N> 后缀最大长度 1..6(默认 5;大字符集下 max=6 需数十秒) --charset 搜索字符集(默认 A-Z 0-9 _)

数值格式:默认 hex;--int 有符号 int32;--uint 无符号 uint32(reverse 下忽略)通用:--json 输出 JSON;-h / --help 帮助

反推时必须用 raw 值作为目标——raw 才是 ComputeHash 的原语义,标准 CRC32 是它再异或 0xFFFFFFFF 的结果。

示例:

$ civhash 123456789 --json
{"ok":true,"mode":"hash","algo":"crc","input":"123456789","fmt":"hex",
"raw":"0x340BC6D9","std":"0xCBF43926","rawValue":873187033,"stdValue":3421780262}

$ civhash Idle --bone Root/Spine/Head --json
{"ok":true,"mode":"bone","algo":"crc","track":"Idle","bone":"Root/Spine/Head",
"order":["Head","Spine","Root"],"hash":"0xFF0361A1","hashValue":4278411681}

$ civhash --reverse 0x16D22538 --prefix TERRA --max 2
algo : CRC32 (raw 语义) prefix : "TERRA" prefix_state=0xBEEA7DE8 charset : 37 字符, maxlen=2, 搜索空间 ~1407
target[0] : 0x16D22538 found 1
7 -> TERRA7 verify=0x16D22538

作为 AI 工具使用

插件把 CLI 注册为 _dsh_external_dsh_civhash_hash,参数与 CLI 一一对应:

| 参数 | 类型 | 说明 |
| text | string | 要哈希的文本(如 TERRAIN_COAST);reverse 模式可省 |
| bone | string | 骨骼链 Root/A/B(自根到叶);提供时 text 作为轨道名 |
| reverse | string | 目标值(0x 十六进制或十进制,raw 语义);提供时进入反推模式 |
| prefix | string | 反推:已知字段前缀 |
| max | number | 反推:后缀最大长度 1-6(默认 5) |
| charset | string | 反推:搜索字符集(默认 A-Z 0-9 _) |
| fnv | boolean | 改用引擎 FNV-1a;reverse / bone 同步切换 |
| seed | string | FNV 种子(默认 0x811C9DC5,仅 fnv 生效) |
| fold | boolean | FNV 大小写折叠变体(仅 fnv 生效) |
| int / uint | boolean | 输出 int32 / uint32 十进制(默认 hex;reverse 下无效) |

安装

dsh plugin --profile web add link:/path/to/dsh-civhash
然后把 "@dsh-external/dsh-civhash" 加进 profile package.json 的 dsh.profile.bundles

插件默认使用包内自带的 bin/civhash.exe;要指向别处的可执行文件,用 config.exePath 覆盖。

构建

TypeScript 插件(src → lib) bash scripts/build.sh

CLI(产出 cli/civhash.exe;Windows 下也可用 cli\build.cmd) bash cli/build.sh
cp cli/civhash.exe bin/civhash.exe

node_modules 由 scripts/build.sh 自动建立 junction 链接,指向本机已有的 dsh-super-injector / npm 版 dsh 依赖树;仓库本身不提交 node_modules。

测试

node scripts/test.mjs # 或 npm test

对包内 bin/civhash.exe 跑一组已知向量(标准 CRC32 / Civ raw / FNV / 折叠变体 / 骨骼链 / 反推往返 / int·uint 格式 / 退出码)。重编 exe 后若 hash 语义有变,这里会直接失败。
用 CIVHASH_EXE 环境变量可指定其他可执行文件。

验证记录

- 标准向量:std("123456789") = 0xCBF43926 ✓
- 与原工程旧 exe 对照:NOTIFICATION_ADDED = 0xF26F3ACF ✓
- 重编的 cli/civhash.exe 与原有 bin/civhash.exe 对 12 组用例输出逐字节一致 ✓
- 骨骼 hash 与 node zlib 交叉验证(叶→根名字 + 轨道名的标准 CRC32)✓
- 反推往返:raw("TERRA7") = 0x16D22538,prefix TERRA → 精确找回 7 ✓
- FNV 反推往返:fnv("UNIT_ARCHER") = 0x3C250997,prefix UNIT_ARCHER → 空后缀命中 ✓

致谢与许可

hash 逻辑(CRC32 表、ComputeHash、骨骼层级 hash)提取自 deliverator23/CivNexus6,原作者 deliverator23。
本仓库仅包含这一小部分逻辑及其 DSH 封装。

以 BSD-3-Clause 许可发布,见 LICENSE。本工具与 Firaxis / 2K 无关,不包含任何游戏本体资源。
预览分享卡片长什么样 ↓Sumcam-L/dsh-civhash
分享 · DeepSeek Harness Hub
Sumcam-L/dsh-civhash

计算与反推文明六资源名的哈希值

这是你的仓库?认领条目

回到顶部