Fixed a bug that incorrectly recognized as 'GameCube'. when you open the Korean Wii Disc, which is re-encrypted with a common-key(g_MasterKey).
This commit is contained in:
parent
d1de336879
commit
22fef0da9b
|
@ -183,8 +183,14 @@ static IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, u32 _Part
|
||||||
memset(IV, 0, 16);
|
memset(IV, 0, 16);
|
||||||
_rReader.Read(rPartition.Offset + 0x44c, 8, IV);
|
_rReader.Read(rPartition.Offset + 0x44c, 8, IV);
|
||||||
|
|
||||||
|
bool usingKoreanKey = false;
|
||||||
|
if (Korean && Reader.Read32(0x501ee) != 0)
|
||||||
|
{
|
||||||
|
usingKoreanKey = true;
|
||||||
|
}
|
||||||
|
|
||||||
aes_context AES_ctx;
|
aes_context AES_ctx;
|
||||||
aes_setkey_dec(&AES_ctx, (Korean ? g_MasterKeyK : g_MasterKey), 128);
|
aes_setkey_dec(&AES_ctx, (usingKoreanKey ? g_MasterKeyK : g_MasterKey), 128);
|
||||||
|
|
||||||
u8 VolumeKey[16];
|
u8 VolumeKey[16];
|
||||||
aes_crypt_cbc(&AES_ctx, AES_DECRYPT, 16, IV, SubKey, VolumeKey);
|
aes_crypt_cbc(&AES_ctx, AES_DECRYPT, 16, IV, SubKey, VolumeKey);
|
||||||
|
|
Loading…
Reference in New Issue