sys-MWell/lego-dimensions-nfc-writer-console
GitHub: sys-MWell/lego-dimensions-nfc-writer-console
基于 Node.js 的控制台工具,用于生成 Lego Dimensions 游戏角色和载具标签所需的 NFC213 HEX 写入数据。
Stars: 0 | Forks: 0
# Lego Dimensions NFC213 标签生成器
本项目是一个 **Node.js 控制台应用程序**,用于生成所需的 **HEX 数据**,以便使用 **NFC213 标签**为游戏 **Lego Dimensions** 编程替换 Toy Tags。
该应用程序接收 **空白 NFC213 标签的 UID** 和 **角色或载具 ID**,并生成需要写入 NFC 标签的值,以便将其与 Lego Dimensions Toy Pad 配合使用。
## 前置条件
- 空白 **NFC213 标签**
- [**Smart NFC**](https://apps.apple.com/us/app/smart-nfc/id1470146079) 应用(来自 iOS App Store)
- 计算机上已安装 Node.js
## 步骤 1 — 读取 NFC213 标签 UID
1. 在 iPhone 上安装并打开 **Smart NFC**。
2. 点击 **Advanced** 并确保协议设置为 **ISO 14443**。
- 如果不这样做,可能会收到标签不包含 NDEF 消息的错误。
3. 扫描您的 **空白 NFC213 标签**。
4. 向下滚动以查看 **行/块**。
- 复制 **第 1 行 (Block 00)** 的前 6 个字符以及 **第 2 行 (Block 01)** 的所有 8 个字符。
- 将它们组合成您的 UID。
- 去掉第 1 行的最后 2 个字符。
- 示例:
第 1 行 (0x00): ABCDEF01
第 2 行 (0x01): 2345678
UID = ABCDEF2345678
## 步骤 2 — 运行控制台应用程序
1. 克隆或下载此仓库。
2. 安装依赖项:
git clone https://github.com/sys-MWell/lego-dimensions-nfc-writer.git
cd lego-dimensions-nfc-writer
3. 在终端中,运行生成器:
node generator/generateToyTag.js
4. 控制台将提示您:
Enter NFC’s UID:
- 输入您从 Smart NFC 获取的 UID。
5. 接下来,系统会提示:
Enter character or vehicle ID ([Character or Vehicle ID] or [C] for all Characters or [V] for all Vehicles):
- 输入有效的角色或载具 ID。
- ID 可以在 charactermap.json 和 vehiclemap.json 中找到。
6. 程序将输出 NFC 标签所需的页码和 HEX 值。
示例输出
- 对于 UID 1D0D830E960000 和 Batman (ID = 1):
... [Page 35] [Page 36] [Page 37] [Page 38] ... [Page 43]
... [ 0x23] [ 0x24] [ 0x25] [ 0x26] ... [ 0x2B]
... [00000000] [A4027C05] [33217F87] [00000000] ... [4574C79D]
## 步骤 3 — 写入 NFC213 标签
1. 在 Smart NFC 应用程序中,再次打开空白标签。
2. 仅使用生成的值更新以下行:
- 第 35 行 (0x23)
- 第 36 行 (0x24)
- 第 37 行 (0x25)
- 第 38 行 (0x26)
- 第 43 行 (0x2B)
3. 规则:
- **不要编辑任何其他行。**
- 每次仅更新一个块。
- 输入新数据后,点击 **WRITE** 并再次扫描标签。
- 重复此操作直到所有更改都已写入。
4. 将标签放置在 Lego Dimensions Toy Pad 上。
- 您的角色/载具应该会通过传送门出现在游戏中!
## 角色和载具标签代码的工作原理
写入标签的数据决定了它是角色还是载具:
- 第 35 行 (0x23):始终为 ```00000000```
- 第 36–37 行:基于角色/载具 ID
- 角色:由 UID + 角色 ID 派生 → 每个标签唯一
- 载具:
- 第 36 行 = 仅基于载具 ID
- 第 37 行 = 始终为 ```00000000```
- 第 38 行 (0x26):标识令牌类型
- 角色 = ```00000000```
- 载具 = ```00010000```
- 第 43 行 (0x2B):仅基于 UID
### 示例 — 载具(Bad Cop 的警车,载具 ID 1000)
```
Line 35 (0x23): 00000000
Line 36 (0x24): E8030000
Line 37 (0x25): 00000000
Line 38 (0x26): 00010000
Line 43 (0x2B): [Generated from UID]
```
## 注意事项
- 本项目复刻了现已关闭的 ldcharcrypto 网站的功能。
- 该控制台应用程序不模拟官方 Toy Pad,而是提供原始 HEX 供 Smart NFC 等 NFC 写入应用使用。
- 创建该项目是为了作为学习 Node.js、调试以及使用现有开源代码的经验。
标签:Character ID, DIY玩具, GNU通用公共许可证, HEX数据, Homebrew安装, ISO 14443, MITM代理, NFC213, NFC写入, Node.js, Smart NFC, 乐高次元, 乐高维度, 存档修改, 数据编程, 标签生成器, 游戏外设, 游戏道具复制, 玩具标签, 自定义脚本, 近场通信