2018-04-15 10:40:22 +08:00
|
|
|
#pragma once
|
2018-08-07 15:17:51 +08:00
|
|
|
#include <nn/hac/nca.h>
|
2018-04-15 10:40:22 +08:00
|
|
|
|
2018-08-07 15:17:51 +08:00
|
|
|
namespace nn
|
|
|
|
{
|
|
|
|
namespace hac
|
2018-04-15 10:40:22 +08:00
|
|
|
{
|
|
|
|
class NcaUtils
|
|
|
|
{
|
|
|
|
public:
|
2018-08-07 15:17:51 +08:00
|
|
|
static inline size_t sectorToOffset(size_t sector_index) { return sector_index * nn::hac::nca::kSectorSize; }
|
2018-08-07 16:35:03 +08:00
|
|
|
static void decryptNcaHeader(const byte_t* src, byte_t* dst, const fnd::aes::sAesXts128Key& key);
|
2018-04-15 10:40:22 +08:00
|
|
|
static byte_t getMasterKeyRevisionFromKeyGeneration(byte_t key_generation);
|
2018-08-07 15:17:51 +08:00
|
|
|
static void getNcaPartitionAesCtr(const nn::hac::sNcaFsHeader* hdr, byte_t* ctr);
|
2018-04-15 10:40:22 +08:00
|
|
|
};
|
2018-08-07 15:17:51 +08:00
|
|
|
}
|
2018-04-15 10:40:22 +08:00
|
|
|
}
|