pyamiibo是一个处理amiibo转储的库。

pyamiibo的Python项目详细描述


派米博

pyamiibo帮助读取、修改和写入Nintendo Amiibo figures的转储文件。pyamiibo能够解析大多数ntag属性以及一些amiibo数据。

important:要解密和加密amibo数据,需要两个主密钥,通常称为unfixed-info.binlocked-secret.bin。没有提供。

您还可以查看full PyAmiibo docs on ReadTheDocs


它是基于amiibo密码学的逆向工程工作(amiitoolreddit)。

所以为什么会存在呢?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之前flake8pylint通过。

pipenv install --three --dev
pipenv shell
isort -y
flake8 amiibo/
pylint amiibo/
sphinx-build -b html docs/ docs/_build

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我不能从ObjectInputStream读取ArrayList?   linux如何设置java时区?   java是一种拥有系统的方法。出来在循环中打印不同的内容?   scala Apache Spark:在Java中有效地使用mapPartitions   java Maven对com的依赖性。白天利用率   java将多个数据映射到单个id的表的正式名称是什么?   java如何在Android应用程序中隐藏FulterWave API键   SeleniumWebDriverJava:如何使用行号和列号单击表中的特定单元格   java Springbatch将数据从写入程序或处理器传递到RestConroller   java在Android TextView中一次换行两行,并带有跨距   java如何使这个rxjava zip并行运行?   JAVAutil。登录中。记录器不尊重java。util。登录中。数量   java无法将参数发布到服务器   java Eclipse:在自定义透视图/视图的状态行上显示作业进度   java在调用findAll()时,找到了多个具有给定标识符的行,但如果我使用findById()遍历所有条目,则可以工作;   Java中的正则表达式问题   Java中的实例变量   java如何在安卓中逐字搜索   java如何计算百分比