《无主之地4》存档编辑器(支持物品编辑)
转自:https://www.nexusmods.com/borderlands4/mods/47
一款用于对《无主之地4》存档进行解密/加密的Python工具。附带实验性物品编辑功能。
注意:对于编辑过程中损坏的任何存档,本人不承担责任!编辑前务必记得备份存档。此外,请通读下方所有内容,尤其注意底部的重要提示部分。带编号的存档(1.sav、2.sav、3.sav等)是包含背包、属性等数据的完整存档。外观装扮和游戏设置存储在profile.sav中。
若有人希望整理一份“解密存档中的数字ID与详细描述对应表”,欢迎自行尝试,可留言或在Github上提交issue,我会更新README文档及此处的说明!
Github仓库:https://github.com/glacierpiece/borderlands-4-save-utility
(欢迎点赞支持)
一款(使用Python编写的)工具,用于对《无主之地4》存档文件进行解密和加密,以便编辑。欢迎以任何你认为合适的方式使用此代码,只需注明出处即可!祝你使用愉快。
·需求:
- Python 3.7及以上版本——下载并安装Python:https://www.python.org/downloads/
- pycryptodome——加密库(通过pip安装):https://pypi.org/project/pycryptodome/
- PyYAML——yaml解析器/生成器(通过pip安装):https://pypi.org/project/PyYAML/
·安装(建议使用虚拟环境)
解压压缩包,然后安装所需依赖:
pip install -r requirements.txt
·使用方法:
如需查看含示例的详细使用说明:
python blcrypt.py decrypt --help
python blcrypt.py encrypt --help
·解密存档文件
将*.sav文件转换为可编辑的YAML文件:
python blcrypt.py decrypt -in 1.sav -out save.yaml -id 你的Steam ID
·按需求编辑YAML文件
用任意文本编辑器打开save.yaml,修改你想要更改的值。请注意缩进,因为这是一个YAML文件。
·加密存档文件
将编辑后的YAML文件转换回*.sav文件:
python blcrypt.py encrypt -in save.yaml -out 1.sav -id 你的Steam ID
·带物品序列号解密/加密的存档解密/加密(实验性)
·步骤1:带物品序列号解密的解密操作
此操作会解密物品序列号,并在YAML文件中添加可编辑的_DECODED_ITEMS部分。
重要提示:输出内容包含完整的存档文件(YAML格式)以及解密后的物品部分。
python blcrypt.py decrypt -in 1.sav -out save.yaml -id 你的Steam ID --decode-serials
生成的YAML文件将包含完整的存档文件,以及如下格式的_DECODED_ITEMS部分:
_DECODED_ITEMS:
inventory.items.serial:
original_serial: "@Ugr..."
item_type: "r"
category: "weapon"
confidence: "high"
stats:
primary_stat: 1234·武器伤害——可修改此值!
secondary_stat: 5678·次要属性——可修改此值!
rarity: 12·稀有度等级——可修改此值!
manufacturer: 123·制造商ID——可修改此值!
item_class: 123 ·武器类别——可修改此值!
·步骤2:编辑物品属性
修改_DECODED_ITEMS部分中的值:
- primary_stat:主要武器伤害/装备威力
- secondary_stat:次要武器/装备属性
- rarity:物品稀有度等级(影响物品品质——普通、 uncommon、稀有等)
- manufacturer:武器/装备制造商
- item_class:特定武器/装备类型
- level:物品等级(若有)
·步骤3:带物品序列号加密的加密操作
此操作会读取完整的YAML文件,将_DECODED_ITEMS中的修改应用回物品序列号,移除_DECODED_ITEMS部分,并对完整存档文件进行加密,使其可在游戏中使用:
python blcrypt.py encrypt -in save.yaml -out 1_modified.sav -id 你的Steam ID --encode-serials
·支持的物品类型:
解密器可处理多种物品类别,不同类别可信度不同:
- 武器(@Ugr):伤害、稀有度、制造商的解密可信度高
- 装备(@Uge):属性和特性的解密可信度高/中
- 备用装备(@Ugd):备用装备类型的解密可信度高/中
- 特殊物品(@Ugw、@Ugu、@Ugf、@Ug!):通用解密可信度低
可信度为“高”的物品最适合编辑。可信度为“中”和“低”的物品可能可用,但目前效果较难预测,后续会逐步完善。
·完整工作流程示例
·基础存档编辑
如需进行基础存档编辑(不修改物品属性):
·1. 将存档文件解密为YAML文件
python blcrypt.py decrypt -in 1.sav -out save.yaml -id 76561198XXXXXXXXX
·2. 用任意文本编辑器编辑save.yaml
·3. 将YAML文件加密回存档文件
python blcrypt.py encrypt -in save.yaml -out 1.sav -id 76561198XXXXXXXXX
·4. 用1.sav替换原始存档文件
·带物品序列号修改的高级存档编辑(实验性)
·1. 对存档文件进行解密,同时解密物品序列号
python blcrypt.py decrypt -in 1.sav -out save.yaml -id 76561198XXXXXXXXX --decode-serials
·2. 编辑save.yaml中的_DECODED_ITEMS部分,修改武器伤害、稀有度等
·3. 对YAML文件进行加密,同时加密物品序列号
python blcrypt.py encrypt -in save.yaml -out 1.sav -id 76561198XXXXXXXXX --encode-serials
·4. 用新的1.sav替换原始存档文件
·存档分享
只要知道加密存档的原始Steam ID,你就可以与任何人分享存档——用原始Steam ID解密,找到你的Steam ID,进行编辑,然后用你的Steam ID加密即可。
·重要提示
***使用此工具前,请备份你的存档文件!***
目前仅支持Steam平台存档
你的Steam ID是17位数字,以7656119开头
在Windows系统中,可通过以下路径找到此ID:
C:\Users\{用户名}\Documents\My Games\Borderlands 4\Saved\SaveGames——此路径下的文件夹名称即为需使用的ID。
Steam ID必须与原始存档文件的所有者匹配(若他人拥有你的Steam ID,或你拥有他人的Steam ID,即可共享/使用对方的存档)
若出现PKCS7或zlib错误,请核实你的Steam ID是否正确
根据你想要编辑的内容,对带编号的存档或配置文件存档进行加密/解密(1.sav、2.sav等与Profile.sav)。#.sav(带编号)是完整存档。Profile.sav包含外观装扮数据。
编辑物品属性时(针对带编号的存档),请先将数值保持在合理范围内
可信度高的物品最适合进行属性修改
加密过程中会自动移除_DECODED_ITEMS部分
若遇到问题,可在Github上提交issue或留言,我或其他用户可能会提供帮助/进行故障排查
·命令汇总
·基础解密/加密(不修改物品)
python blcrypt.py decrypt -in 1.sav -id 76561198XXXXXXXXX
python blcrypt.py encrypt -in 1.yaml -id 76561198XXXXXXXXX
·高级:解密物品序列号以进行编辑
python blcrypt.py decrypt -in 1.sav -id 76561198XXXXXXXXX --decode-serials
·高级:将修改后的物品序列号加密回存档
python blcrypt.py encrypt -in 1.yaml -id 76561198XXXXXXXXX --encode-serials
·故障排查
“PKCS7填充错误”:Steam ID错误
“zlib解压缩错误”:Steam ID错误或文件损坏
“文件大小不是16的倍数”:文件可能已损坏或不是有效的《无主之地4》存档文件
下载地址:
**** Hidden Message ***** ddddddddddddddddddddd
6666666666666
11111111111111111111111111
谢谢分享!谢谢!
666666666666666666666666666
xzczxczxczxczxc
谢谢分享
谢谢分享,我来看看怎么个事 6666666666666
66666666666666666666666666666 gxfxx
谢谢分享 1111111111111111111
66666666666666666
111111111111111111111111111111
111111111111111111111
感谢分享
666666666
ddddddddddddddddd
看看怎么用
111111111111
所以这玩意到底怎么用:'( dddddddddddddddddddddddddddddddd
哈哈哈哈哈哈哈哈哈
6666666666666666
感谢分享
111111111111111111
希望楼主继续分享更多好用的东西!谢谢!感谢分享!给你点赞! 66666666666