mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
チェックデジットつきのシリアルナンバーを使うように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@28 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
7f390a5c3d
commit
d9fa748da3
@ -50,6 +50,7 @@
|
|||||||
#include "PlayHistoryManager.h"
|
#include "PlayHistoryManager.h"
|
||||||
#include "common_Types.h"
|
#include "common_Types.h"
|
||||||
#include "VersionDetect.h"
|
#include "VersionDetect.h"
|
||||||
|
#include "HardwareInfo.h"
|
||||||
|
|
||||||
// svnリビジョン埋め込み用
|
// svnリビジョン埋め込み用
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
@ -232,6 +233,9 @@ extern "C" void nnMain(void)
|
|||||||
}
|
}
|
||||||
common::Logger::GetLoggerInstance()->PrintResultIfFailed(result, __LINE__);
|
common::Logger::GetLoggerInstance()->PrintResultIfFailed(result, __LINE__);
|
||||||
|
|
||||||
|
common::HardwareInfo hwInfo;
|
||||||
|
hwInfo.AddCheckDigit(reinterpret_cast<char*>(s_SerialNo));
|
||||||
|
|
||||||
// デバイスIDの取得
|
// デバイスIDの取得
|
||||||
bit32 deviceId;
|
bit32 deviceId;
|
||||||
result = nn::ps::CTR::GetDeviceId(&deviceId);
|
result = nn::ps::CTR::GetDeviceId(&deviceId);
|
||||||
|
|||||||
@ -29,6 +29,7 @@ SOURCES[] =
|
|||||||
ConsoleBackup.cpp
|
ConsoleBackup.cpp
|
||||||
Controller.cpp
|
Controller.cpp
|
||||||
Exporter.cpp
|
Exporter.cpp
|
||||||
|
../common/HardwareInfo.cpp
|
||||||
../common/DrawSystemState.cpp
|
../common/DrawSystemState.cpp
|
||||||
../common/FileTransfer.cpp
|
../common/FileTransfer.cpp
|
||||||
../common/FileChecker.cpp
|
../common/FileChecker.cpp
|
||||||
|
|||||||
@ -44,6 +44,7 @@
|
|||||||
#include "SDMountManager.h"
|
#include "SDMountManager.h"
|
||||||
#include "HeapManager.h"
|
#include "HeapManager.h"
|
||||||
#include "VersionDetect.h"
|
#include "VersionDetect.h"
|
||||||
|
#include "HardwareInfo.h"
|
||||||
|
|
||||||
// svnリビジョン埋め込み用
|
// svnリビジョン埋め込み用
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
@ -238,6 +239,8 @@ extern "C" void nnMain(void)
|
|||||||
std::memset(s_SerialNo, '\0',
|
std::memset(s_SerialNo, '\0',
|
||||||
nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
||||||
result = nn::cfg::CTR::system::GetSerialNo(s_SerialNo);
|
result = nn::cfg::CTR::system::GetSerialNo(s_SerialNo);
|
||||||
|
common::HardwareInfo hwInfo;
|
||||||
|
hwInfo.AddCheckDigit(reinterpret_cast<char*>(s_SerialNo));
|
||||||
if(result.IsSuccess())
|
if(result.IsSuccess())
|
||||||
{
|
{
|
||||||
s_CanReadSerialNumber = true;
|
s_CanReadSerialNumber = true;
|
||||||
|
|||||||
@ -31,6 +31,7 @@ SOURCES[] =
|
|||||||
Importer.cpp
|
Importer.cpp
|
||||||
Updater.cpp
|
Updater.cpp
|
||||||
Ntpclient.cpp
|
Ntpclient.cpp
|
||||||
|
../common/HardwareInfo.cpp
|
||||||
../common/DrawSystemState.cpp
|
../common/DrawSystemState.cpp
|
||||||
../common/FileTransfer.cpp
|
../common/FileTransfer.cpp
|
||||||
../common/FileChecker.cpp
|
../common/FileChecker.cpp
|
||||||
|
|||||||
61
trunk/ConsoleDataMigration/common/HardwareInfo.cpp
Normal file
61
trunk/ConsoleDataMigration/common/HardwareInfo.cpp
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: Horizon
|
||||||
|
File: HardwareInfo.cpp
|
||||||
|
|
||||||
|
Copyright 2009 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Rev$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <nn.h>
|
||||||
|
#include "HardwareInfo.h"
|
||||||
|
|
||||||
|
#include <cctype>
|
||||||
|
|
||||||
|
namespace common
|
||||||
|
{
|
||||||
|
|
||||||
|
HardwareInfo::HardwareInfo()
|
||||||
|
{
|
||||||
|
// TODO 自動生成されたコンストラクター・スタブ
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
HardwareInfo::~HardwareInfo()
|
||||||
|
{
|
||||||
|
// TODO Auto-generated destructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
// NULL終端されたシリアルナンバーを受け取る
|
||||||
|
// NULL終端された場所にチェックデジットを付加して新たにNULL終端する
|
||||||
|
void HardwareInfo::AddCheckDigit(char* serial)
|
||||||
|
{
|
||||||
|
size_t len = std::strlen(serial);
|
||||||
|
|
||||||
|
u8 digit = 0;
|
||||||
|
bool odd = true;
|
||||||
|
for(u8 i = len - 1; i > 0 && std::isdigit(serial[i]); i--)
|
||||||
|
{
|
||||||
|
if(odd)
|
||||||
|
{
|
||||||
|
digit += (serial[i] - '0') * 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
digit += (serial[i] - '0');
|
||||||
|
}
|
||||||
|
odd = !odd;
|
||||||
|
}
|
||||||
|
|
||||||
|
serial[len] = 10 - (digit % 10) + '0';
|
||||||
|
serial[len + 1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
33
trunk/ConsoleDataMigration/common/HardwareInfo.h
Normal file
33
trunk/ConsoleDataMigration/common/HardwareInfo.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: Horizon
|
||||||
|
File: HardwareInfo.h
|
||||||
|
|
||||||
|
Copyright 2009 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Rev$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef HARDWAREINFO_H_
|
||||||
|
#define HARDWAREINFO_H_
|
||||||
|
|
||||||
|
namespace common
|
||||||
|
{
|
||||||
|
|
||||||
|
class HardwareInfo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
HardwareInfo();
|
||||||
|
virtual ~HardwareInfo();
|
||||||
|
|
||||||
|
void AddCheckDigit(char* serial);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* HARDWAREINFO_H_ */
|
||||||
Loading…
Reference in New Issue
Block a user