pyamiibo是一个处理amiibo转储的库。
pyamiibo的Python项目详细描述
派米博
pyamiibo帮助读取、修改和写入Nintendo Amiibo figures的转储文件。pyamiibo能够解析大多数ntag属性以及一些amiibo数据。
important:要解密和加密amibo数据,需要两个主密钥,通常称为unfixed-info.bin和locked-secret.bin。没有提供。
您还可以查看full PyAmiibo docs on ReadTheDocs。
所以为什么会存在呢?amiitool是一个c二进制文件,很难在其他工具(尤其是基于web的工具)中使用。它在解密时还重新排列转储文件的各个部分,似乎不支持编辑转储(例如,更改uid)。尽管pyamiibo不使用任何amiitool代码,并且包含了我自己对ntag格式和amiibo数据的大量研究,但如果没有marcos的努力,这是不可能的。
用法
pyamiibo仅适用于python 3,如果安装时出错,这是最可能的原因。
pip install pyamiibo
pyamiibo主要是一个库,但也包含一些简单的命令行工具:
$# convert hexadecimal data to binary, note the quotes! $ amiibo hex2bin "F1 A3 65 .." unfixed-info.bin $# get help for a subcommand $ amiibo uid --help $# update the UID on an existing dump $ amiibo uid old.bin "04 FF FF FF FF FF FF" new.bin
主密钥必须在当前目录中才能使用某些命令!
在脚本或解释器会话中也很容易使用:
fromamiiboimportAmiiboDump,AmiiboMasterKeywithopen('unfixed-info.bin','rb')asfp_d, \ open('locked-secret.bin','rb')asfp_t:master_keys=AmiiboMasterKey.from_separate_bin(fp_d.read(),fp_t.read())withopen('dump.bin','rb')asfp:dump=AmiiboDump(master_keys,fp.read())print('old',dump.uid_hex)dump.unlock()dump.uid_hex='04 FF FF FF FF FF FF'dump.lock()dump.unset_lock_bytes()print('new',dump.uid_hex)withopen('new.bin','wb')asfp:fp.write(dump.data)
开发
使用pipenv安装开发依赖项,并确保在提交pr之前flake8和pylint通过。
pipenv install --three --dev pipenv shell isort -y flake8 amiibo/ pylint amiibo/ sphinx-build -b html docs/ docs/_build