From 432b756ce543dd806c069e65a6f456f90283abad Mon Sep 17 00:00:00 2001 From: N2614 Date: Thu, 21 Feb 2013 08:17:51 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=B7=E3=83=AA=E3=82=A2=E3=83=ABNo.?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=8C=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E3=81=99=E3=82=8B=E5=A0=B4=E5=90=88=E3=81=AF=E3=83=AA=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=A2=E6=99=82=E3=81=AB=E4=B8=80=E8=87=B4=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8B=E3=81=8B=E3=83=81=E3=82=A7=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@719 385bec56-5757-e545-9c3a-d8741f4650f1 --- .../sources/ConsoleRestore/Controller.cpp | 43 +++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp index 34b130a..bac7371 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp @@ -226,6 +226,7 @@ void CheckSdInserted(common::HardwareStateManager& manager, common::OperationMes void CheckAcAdapter(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckSdWritable(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckApSetting(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); +void CheckSerialNumber(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckNupExecuted(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckDownloadIvs(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckAccountDeleted(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); @@ -286,12 +287,9 @@ void CheckSdWritable(common::HardwareStateManager& manager, common::OperationMes // 設定ファイル書式チェック void CheckApSetting(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep) { - NN_UNUSED_VAR(manager); - NN_UNUSED_VAR(goNextStep); - if (CheckAndReadAPSetting(message)) { - s_RestoreState = IMPORT_RTC; + CheckSerialNumber(manager, message, goNextStep); } else { @@ -299,6 +297,43 @@ void CheckApSetting(common::HardwareStateManager& manager, common::OperationMess } } +// シリアルNo.が一致しているかどうかチェック +void CheckSerialNumber(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep) +{ + NN_UNUSED_VAR(message); + NN_UNUSED_VAR(goNextStep); + + // SDカードにシリアルナンバーがあるか? + if (!common::ExistsSerialNumberFile()) + { + s_RestoreState = IMPORT_RTC; + return; + } + + u8 serialInSd[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + nn::Result result = ReadSerialNumber(serialInSd); + if (result.IsFailure()) + { + s_RestoreState = FAIL; + return; + } + + u8* serial; + size_t size; + manager.GetSerialNumber(&serial, &size); + + if(std::memcmp(serialInSd, serial, size) == 0) + { + s_RestoreState = IMPORT_RTC; + } + else + { + COMMON_LOGGER("Mismatched Serial Number!!"); + s_RestoreState = FAIL; + } + +} + // NUP済みかどうかチェック void CheckNupExecuted(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep) {