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 Android Espresso如何检查字符串是否缩写   java jar从cmd写入文件,但不能双击   Grails中的java onetomany映射|我可以在复合键中使用生成的值吗?   java HttpsURLConnection在尝试添加Cookie时已连接   java在Netbeans中不能有同名的包和类   如何在格式化字段自动更改无效输入(Swing)Java时触发事件   用户输入后java JTextArea未更新   java试图用新字符替换字符串中的特定字符   java类加载器在Linux上显示错误路径   java mySQL远程数据库未连接   java如果接口需要MyObject对象,如何返回错误对象?   java无法解析在MainActivity之外调用安卓类时的符号   java如何将应用程序文件正确添加到appium所需的功能?   Java中浮点数组的数据对齐算法