mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
WiFiコネクションIDが仮の値であればWiFi設定は移行しないように(TWL修理に準拠)
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@301 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
35af526d26
commit
809c92427e
@ -749,16 +749,37 @@ nn::Result ImportNorData()
|
||||
&reinterpret_cast<common::NtrNorData*>(buf)->ntrConfig.ncd_ex);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
// TWL WiFi設定
|
||||
result = nn::cfg::nor::CTR::WriteTwlWifiSetting(0, reinterpret_cast<common::NtrNorData*>(buf)->TwlWiFiSetting,
|
||||
common::TWL_WIFI_SETTING_SIZE);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
// WiFiコネクションIDが仮の値であればWiFi設定は移行しない
|
||||
// TWL修理に準拠している
|
||||
u64 attestedUserId1;
|
||||
u64 attestedUserId2;
|
||||
const u32 WIFI_CONNECTION_USERID_OFFSET1 = 0xf0;
|
||||
const u32 WIFI_CONNECTION_USERID_OFFSET2 = 0x1f0;
|
||||
const u32 USERID_SIZE = 6;
|
||||
const bit64 USERID_MASK = 0x07ffffffffffffff;
|
||||
|
||||
// NTR WiFi設定
|
||||
result = nn::cfg::nor::CTR::WriteNtrWifiSetting(0, reinterpret_cast<common::NtrNorData*>(buf)->NtrWiFiSetting,
|
||||
common::NTR_WIFI_SETTING_SIZE);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
std::memcpy(&attestedUserId1,
|
||||
&reinterpret_cast<common::NtrNorData*> (buf)->NtrWiFiSetting[WIFI_CONNECTION_USERID_OFFSET1],
|
||||
USERID_SIZE);
|
||||
attestedUserId1 &= USERID_MASK;
|
||||
|
||||
std::memcpy(&attestedUserId2,
|
||||
&reinterpret_cast<common::NtrNorData*> (buf)->NtrWiFiSetting[WIFI_CONNECTION_USERID_OFFSET2],
|
||||
USERID_SIZE);
|
||||
attestedUserId2 &= USERID_MASK;
|
||||
|
||||
if (attestedUserId1 == attestedUserId2 && attestedUserId1 != 0)
|
||||
{
|
||||
// TWL WiFi設定
|
||||
result = nn::cfg::nor::CTR::WriteTwlWifiSetting(0,
|
||||
reinterpret_cast<common::NtrNorData*> (buf)->TwlWiFiSetting, common::TWL_WIFI_SETTING_SIZE);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
// NTR WiFi設定
|
||||
result = nn::cfg::nor::CTR::WriteNtrWifiSetting(0,
|
||||
reinterpret_cast<common::NtrNorData*> (buf)->NtrWiFiSetting, common::NTR_WIFI_SETTING_SIZE);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
}
|
||||
}
|
||||
|
||||
common::HeapManager::GetHeap()->Free(buf);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user