@ -469,15 +469,13 @@ void PartitionDataManager::DecryptPackage2(std::array<std::array<u8, 16>, 0x20>
if ( header . magic ! = Common : : MakeMagic ( ' P ' , ' K ' , ' 2 ' , ' 1 ' ) )
if ( header . magic ! = Common : : MakeMagic ( ' P ' , ' K ' , ' 2 ' , ' 1 ' ) )
return ;
return ;
const std : : vector < u8 > s1_iv ( header . section_ctr [ 1 ] . begin ( ) , header . section_ctr [ 1 ] . end ( ) ) ;
const auto a = std : : make_shared < FileSys : : OffsetVfsFile > (
const auto a = std : : make_shared < FileSys : : OffsetVfsFile > (
file , header . section_size [ 1 ] , header . section_size [ 0 ] + sizeof ( Package2Header ) ) ;
file , header . section_size [ 1 ] , header . section_size [ 0 ] + sizeof ( Package2Header ) ) ;
auto c = a - > ReadAllBytes ( ) ;
auto c = a - > ReadAllBytes ( ) ;
AESCipher < Key128 > cipher ( package2_keys [ revision ] , Mode : : CTR ) ;
AESCipher < Key128 > cipher ( package2_keys [ revision ] , Mode : : CTR ) ;
cipher . SetIV ( s1_iv ) ;
cipher . SetIV ( { header . section_ctr [ 1 ] . begin ( ) , header . section_ctr [ 1 ] . end ( ) } ) ;
cipher . Transcode ( c . data ( ) , c . size ( ) , c . data ( ) , Op : : Decrypt ) ;
cipher . Transcode ( c . data ( ) , c . size ( ) , c . data ( ) , Op : : Decrypt ) ;
INIHeader ini ;
INIHeader ini ;