Fix for importing / exporting more than one save per launch

SD_IV should not be global, thanks to interdpth as I was only testing with one save before 
remove duplicated code from BannerLoaderWii.cpp

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4863 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
LPFaint99 2010-01-17 03:25:42 +00:00
parent b61b04352e
commit 703cb0bdb8
3 changed files with 5 additions and 8 deletions

View File

@ -36,10 +36,7 @@ CBannerLoaderWii::CBannerLoaderWii(DiscIO::IVolume *pVolume)
char Filename[260];
u64 TitleID;
if (DiscIO::IsVolumeWadFile(pVolume))
pVolume->GetTitleID((u8*)&TitleID);
else
pVolume->RAWRead((u64)0x0F8001DC, 8, (u8*)&TitleID);
pVolume->GetTitleID((u8*)&TitleID);
TitleID = Common::swap64(TitleID);

View File

@ -24,17 +24,17 @@
#include "FileUtil.h"
#include "MathUtil.h"
u8 SD_IV[0x10] = {0x21, 0x67, 0x12, 0xE6, 0xAA, 0x1F, 0x68, 0x9F,
0x95, 0xC5, 0xA2, 0x23, 0x24, 0xDC, 0x6A, 0x98};
const u8 SDKey[16] = {0xAB, 0x01, 0xB9, 0xD8, 0xE1, 0x62, 0x2B, 0x08,
0xAF, 0xBA, 0xD8, 0x4D, 0xBF, 0xC2, 0xA5, 0x5D};
u8 MD5_BLANKER[0x10] = {0x0E, 0x65, 0x37, 0x81, 0x99, 0xBE, 0x45, 0x17,
const u8 MD5_BLANKER[0x10] = {0x0E, 0x65, 0x37, 0x81, 0x99, 0xBE, 0x45, 0x17,
0xAB, 0x06, 0xEC, 0x22, 0x45, 0x1A, 0x57, 0x93};
CWiiSaveCrypted::CWiiSaveCrypted(const char* FileName, u64 title)
: _saveGameTitle(title)
{
strcpy(pathData_bin, FileName);
memcpy(SD_IV, "\x21\x67\x12\xE6\xAA\x1F\x68\x9F\x95\xC5\xA2\x23\x24\xDC\x6A\x98", 0x10);
if (!title)
{
AES_set_decrypt_key(SDKey, 128, &m_AES_KEY);
@ -96,7 +96,6 @@ void CWiiSaveCrypted::ReadHDR()
}
fclose(fpData_bin);
AES_cbc_encrypt((const u8*)&_encryptedHeader, (u8*)&_header, HEADER_SZ, &m_AES_KEY, SD_IV, AES_DECRYPT);
_bannerSize = Common::swap32(_header.hdr.BannerSize);
if ((_bannerSize < FULL_BNR_MIN) || (_bannerSize > FULL_BNR_MAX) ||

View File

@ -47,6 +47,7 @@ public:
private:
AES_KEY m_AES_KEY;
u8 SD_IV[0x10];
std::vector<std::string> FilesList;
FILE *fpData_bin,