RussDev7/7D2DProfileEditor
GitHub: RussDev7/7D2DProfileEditor
一个基于 PHP 的 Web 工具,用于解析和编辑七日杀玩家 `.ttp` 存档文件中的角色属性、等级、技能进度等字段,并支持进度恢复。
Stars: 0 | Forks: 0
# 7 Days to Die TTP 配置文件编辑器
一个用于检查和修改 7 Days to Die 玩家配置文件 (`.ttp`) 中支持字段的轻量级 PHP Web 编辑器。
## 功能
- 英语和日语界面
- 显示玩家名称和 EOS ID
- 编辑生命值、体力、食物和水分
- 死亡状态检测及**复活玩家**选项
- 直观的进度编辑:
- 玩家等级
- 原始保存经验值
- 未分配技能点
- 属性
- 技能/书籍分组
- 工艺杂志等级
- 特权和技能书条目
- 可搜索的进度表
- 任务/POI 发现及实验性移除控件
- 下载新编辑的 `.ttp` 文件;不会覆盖上传的源文件
## 为什么旧的 Status Candidates 值是错误的
之前的解析器会搜索诸如 `attperception`、`perkdeadeye` 和 `skillpoint` 等名称,然后将每次匹配项紧接在前面的四个字节解释为一个 32 位整数。
这些字节并不是进度值:
- 在正常的进度名称之前,它们包含记录元数据和编码的字符串长度。
- `skillpoint` 匹配项可能出现在另一个单词中,例如 `spendskillpoint`;在这种情况下,前面的字节可能仅仅是 ASCII 文本。例如,十六进制 `70 65 6E 64` 代表文本 `pend`,而不是技能点数量。
```
entry version
.NET 7-bit encoded name length
entry name
1-byte editable level/value
4-byte auxiliary game-owned value
```
只有单字节的等级/数值会用于编辑。这四个辅助字节仅用于诊断显示,但在写入时会保持不变。
## 恢复重置的等级
该编辑器直接公开进度标头。要大致恢复之前 40 级角色的状态:
1. 将**玩家等级**设置为 `40`。
2. 将**未分配技能点**设置为您想要恢复的数量。
- 只有当游戏世界在 1 级之后每升一级奖励一点,并且您希望所有这些点数都处于未分配状态时,`39` 才是一个合理的起始值。
- Mod 和游戏世界配置可能会使用不同的每级点数规则。
3. 要么在游戏内消耗这些点数,要么在进度表中手动恢复已知的属性/特权等级。
4. 单独处理**原始保存经验值**。除非您有重置前的备份或知道预期的经验值,否则无法从重置的文件中重新构建出完全正确的经验值。
如果这些数值已经从源存档中删除,那么仅仅设置等级和授予点数将无法准确还原之前的特权分配、书籍进度、任务或库存。
## 本地运行
环境要求:
- 推荐使用 PHP 8.0 或更高版本
- 现代浏览器
### Windows 快速开始
如果 Windows 提示无法识别 `php`,说明 PHP 没有被正确添加到 `PATH` 环境变量中。您也可以直接在项目文件夹中手动启动服务器:
```
php -S localhost:8000
```
然后在浏览器中打开 `http://localhost:8000/`。
## 项目布局
```
index.php Upload screen
upload.php Analysis and editor screen
save.php Validates and writes submitted edits
TtpParser.php Binary structure detection and parsing
lang.php Language/session helper
lang/en.php English strings
lang/ja.php Japanese strings
StartServer.bat Windows development-server launcher
```
## 安全提示
- 在替换玩家文件之前,请先关闭游戏或专用服务器。
- 切勿使用您唯一的备份进行测试。
- 保持文件大小不变;此编辑器执行原位定宽写入。
- 进度解析器在写入之前会验证块结构和记录名称。
- 任务/POI 移除功能仍处于实验阶段,因为这些条目尚未被完全解析为结构清晰的记录。
## 日本語
このツールは、7 Days to Die のプレイヤープロフィール (`.ttp`) をブラウザで解析・編集する PHP ツールです。
主な対応項目:
- 英語・日本語切り替え
- 体力、スタミナ、食料、水分の編集
- 死亡状態の検出とプレイヤー復活
- プレイヤーレベル、保存されている経験値、未使用スキルポイントの編集
- 属性、スキル、クラフト、パーク、スキル本進行度の実値編集
以前の「Status candidates」は、キーワード直前の4バイトを値として表示していたため、文字列長やレコード情報を誤って数値化していました。更新版では progressionData を構造的に解析し、名前直後の1バイトだけを実際の編集可能値として扱います。
レベル40をおおよそ復元する場合は、レベルを `40` に設定し、通常設定でレベル1以降に1ポイントずつ付与されていたなら、未使用ポイント `39` を開始値として利用できます。ただし、MODやワールド設定によって付与数は異なります。また、消失済みのパーク配分、クエスト、所持品を自動的に復元することはできません。
### Windowsでの起動方法
## 致谢
本项目最初基于 [kani-momonga/7DaysProfileEditorPHP](https://github.com/kani-momonga/7DaysProfileEditorPHP) 开发,该项目提供了最初的基于 PHP 的 `.ttp` 解析实现。
该项目本身衍生自 [Karlovsky120/7DaysProfileEditor](https://github.com/Karlovsky120/7DaysProfileEditor),这是最初的桌面编辑器和存档文件研究工具,正是因为这些基础工作才使本项目的大部分功能得以实现。
标签:ffuf, OpenVAS, PHP, 多模态安全, 存档修改器, 数据解析, 游戏工具