|
|
|
@ -452,13 +452,13 @@ VirtualFile NCA::Decrypt(const NCASectionHeader& s_header, VirtualFile in, u64 s
|
|
|
|
|
|
|
|
|
|
switch (s_header.raw.header.crypto_type) {
|
|
|
|
|
case NCASectionCryptoType::NONE:
|
|
|
|
|
LOG_DEBUG(Crypto, "called with mode=NONE");
|
|
|
|
|
LOG_TRACE(Crypto, "called with mode=NONE");
|
|
|
|
|
return in;
|
|
|
|
|
case NCASectionCryptoType::CTR:
|
|
|
|
|
// During normal BKTR decryption, this entire function is skipped. This is for the metadata,
|
|
|
|
|
// which uses the same CTR as usual.
|
|
|
|
|
case NCASectionCryptoType::BKTR:
|
|
|
|
|
LOG_DEBUG(Crypto, "called with mode=CTR, starting_offset={:016X}", starting_offset);
|
|
|
|
|
LOG_TRACE(Crypto, "called with mode=CTR, starting_offset={:016X}", starting_offset);
|
|
|
|
|
{
|
|
|
|
|
std::optional<Core::Crypto::Key128> key = {};
|
|
|
|
|
if (has_rights_id) {
|
|
|
|
|