mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2024-12-22 12:15:47 +00:00
Added Support for 532-Byte Amiibo BIN Files (#412)
Added functionality to load 532-byte Amiibo BIN files, commonly used in Tagmo and similar tools. These files were missing the following pages. * 133 (85h) PWD * 134 (86h) PACK RFUI These pages can be added as null bytes if not present. The system seems to function correctly without them.
This commit is contained in:
parent
9cddf3b66b
commit
221524d879
1 changed files with 21 additions and 2 deletions
|
@ -33,9 +33,12 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption
|
|||
const int pageSize = 4;
|
||||
const int totalBytes = totalPages * pageSize;
|
||||
|
||||
if (fileBytes.Length < totalBytes)
|
||||
if (fileBytes.Length == 532)
|
||||
{
|
||||
return new VirtualAmiiboFile();
|
||||
// add 8 bytes to the end of the file
|
||||
byte[] newFileBytes = new byte[totalBytes];
|
||||
Array.Copy(fileBytes, newFileBytes, fileBytes.Length);
|
||||
fileBytes = newFileBytes;
|
||||
}
|
||||
|
||||
AmiiboDecrypter amiiboDecryptor = new AmiiboDecrypter(keyRetailBinPath);
|
||||
|
@ -171,6 +174,14 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption
|
|||
return false;
|
||||
}
|
||||
|
||||
if (readBytes.Length == 532)
|
||||
{
|
||||
// add 8 bytes to the end of the file
|
||||
byte[] newFileBytes = new byte[540];
|
||||
Array.Copy(readBytes, newFileBytes, readBytes.Length);
|
||||
readBytes = newFileBytes;
|
||||
}
|
||||
|
||||
AmiiboDecrypter amiiboDecryptor = new AmiiboDecrypter(keyRetailBinPath);
|
||||
AmiiboDump amiiboDump = amiiboDecryptor.DecryptAmiiboDump(readBytes);
|
||||
|
||||
|
@ -231,6 +242,14 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption
|
|||
return false;
|
||||
}
|
||||
|
||||
if (readBytes.Length == 532)
|
||||
{
|
||||
// add 8 bytes to the end of the file
|
||||
byte[] newFileBytes = new byte[540];
|
||||
Array.Copy(readBytes, newFileBytes, readBytes.Length);
|
||||
readBytes = newFileBytes;
|
||||
}
|
||||
|
||||
AmiiboDecrypter amiiboDecryptor = new AmiiboDecrypter(keyRetailBinPath);
|
||||
AmiiboDump amiiboDump = amiiboDecryptor.DecryptAmiiboDump(readBytes);
|
||||
amiiboDump.AmiiboNickname = newNickName;
|
||||
|
|
Loading…
Reference in a new issue