diff --git a/trunk/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp b/trunk/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp index 2d19499..50aee16 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleBackup/Exporter.cpp @@ -784,24 +784,6 @@ void ExportThreadFunc() NN_LOG("Export Thread Finalize\n"); } - -nn::Result WriteExportContext() -{ - nn::Result result; - nn::fs::DeviceMoveContext context; - - result = nn::fs::StartDeviceMoveAsSource(&context); - NN_UTIL_RETURN_IF_FAILED(result); - - common::SdMountManager::Mount(); - common::SdReaderWriter sdWriter; - result = sdWriter.WriteBufWithCmac(common::MOVE_CONTEXT_PATHNAME, &context, sizeof(context)); - NN_UTIL_RETURN_IF_FAILED(result); - - common::SdMountManager::Unmount(); - return nn::ResultSuccess(); -} - nn::Result WriteSaveData() { // 不要なデータを削除する diff --git a/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp b/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp index b163dc5..b62af03 100644 --- a/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp +++ b/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp @@ -19,14 +19,17 @@ #include #include #include +#include #include +#include "Aes_define.h" #include "SaveDataMover.h" #include "CommonLogger.h" #include "FileName.h" #include "SdReaderWriter.h" #include "FileTransfer.h" +#include "HeapManager.h" namespace common @@ -87,6 +90,22 @@ void SaveDataMover::SetupExport() m_Result = nn::fs::StartDeviceMoveAsSource(&moveContext); COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); + // コンテキストのSDへの出力 + common::HeapManager contextHeap(sizeof(moveContext)); + void* enc; + enc = contextHeap.GetAddr(); + if(enc != NULL) + { + // AES暗号化する + nn::crypto::SwAesCtrContext swAesCtrContest; + + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); + swAesCtrContest.Encrypt(enc, &moveContext, sizeof(moveContext)); + + common::SdReaderWriter sdWriter; + sdWriter.WriteBufWithCmac(common::MOVE_CONTEXT_PATHNAME, enc, sizeof(moveContext)); + } + // 3. 出力用ディレクトリの作成 // 3.1 システムセーブデータ用ディレクトリ common::SdReaderWriter sdWriter;