mirror of
https://github.com/ReneLergner/WPinternals.git
synced 2026-06-14 03:16:40 +10:00
Code update
- WPinternals is now a .NET Core 3.0 application - Implemented new unlock process for Spec A devices - Updated logic for unlocking Spec B devices - Implemented MMOS support for Spec B devices - Implemented battery status in Flash Mode - Implemented Fuse configuration information in Flash Mode - Implemented Reboot from mass storage for Spec A and some Spec B devices - Implemented shutdown from flash mode (preliminary) - Fixed label mode support for Spec B
This commit is contained in:
@@ -92,6 +92,22 @@ namespace WPinternals
|
||||
{
|
||||
SecurityFlags = (UInt32)CurrentModel.ReadSecurityFlags();
|
||||
LogFile.Log("Security flags: 0x" + SecurityFlags.ToString("X8"));
|
||||
|
||||
FinalConfigDakStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Dak);
|
||||
FinalConfigFastBootStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.FastBoot);
|
||||
FinalConfigFfuVerifyStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.FfuVerify);
|
||||
FinalConfigJtagStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Jtag);
|
||||
FinalConfigOemIdStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.OemId);
|
||||
FinalConfigProductionDoneStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.ProductionDone);
|
||||
FinalConfigPublicIdStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.PublicId);
|
||||
FinalConfigRkhStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Rkh);
|
||||
FinalConfigRpmWdogStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.RpmWdog);
|
||||
FinalConfigSecGenStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.SecGen);
|
||||
FinalConfigSecureBootStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.SecureBoot);
|
||||
FinalConfigShkStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Shk);
|
||||
FinalConfigSimlockStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Simlock);
|
||||
FinalConfigSpdmSecModeStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.SpdmSecMode);
|
||||
FinalConfigSsmStatus = CurrentModel.ReadFuseStatus(NokiaFlashModel.Fuse.Ssm);
|
||||
}
|
||||
else
|
||||
LogFile.Log("Security flags could not be read");
|
||||
@@ -173,6 +189,9 @@ namespace WPinternals
|
||||
eMMC = Manufacturer + " " + MemSizeDouble.ToString() + " GB";
|
||||
SamsungWarningVisible = (MID == 0x0015);
|
||||
|
||||
ChargingStatus = CurrentModel.ReadCurrentChargeLevel() + "% - " + CurrentModel.ReadCurrentChargeCurrent() + " mA";
|
||||
LogFile.Log("Charging status: " + ChargingStatus);
|
||||
|
||||
PhoneInfo Info = CurrentModel.ReadPhoneInfo(true);
|
||||
if (Info.FlashAppProtocolVersionMajor < 2)
|
||||
BootloaderDescription = "Lumia Bootloader Spec A";
|
||||
@@ -293,6 +312,20 @@ namespace WPinternals
|
||||
}
|
||||
}
|
||||
|
||||
private string _ChargingStatus = null;
|
||||
public string ChargingStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ChargingStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_ChargingStatus = value;
|
||||
OnPropertyChanged("ChargingStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool _SamsungWarningVisible = false;
|
||||
public bool SamsungWarningVisible
|
||||
{
|
||||
@@ -419,6 +452,218 @@ namespace WPinternals
|
||||
}
|
||||
}
|
||||
|
||||
#region Final Config
|
||||
private bool? _FinalConfigSecureBootStatus = null;
|
||||
public bool? FinalConfigSecureBootStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigSecureBootStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigSecureBootStatus = value;
|
||||
OnPropertyChanged("FinalConfigSecureBootStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigFfuVerifyStatus = null;
|
||||
public bool? FinalConfigFfuVerifyStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigFfuVerifyStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigFfuVerifyStatus = value;
|
||||
OnPropertyChanged("FinalConfigFfuVerifyStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigJtagStatus = null;
|
||||
public bool? FinalConfigJtagStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigJtagStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigJtagStatus = value;
|
||||
OnPropertyChanged("FinalConfigJtagStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigShkStatus = null;
|
||||
public bool? FinalConfigShkStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigShkStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigShkStatus = value;
|
||||
OnPropertyChanged("FinalConfigShkStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigSimlockStatus = null;
|
||||
public bool? FinalConfigSimlockStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigSimlockStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigSimlockStatus = value;
|
||||
OnPropertyChanged("FinalConfigSimlockStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigProductionDoneStatus = null;
|
||||
public bool? FinalConfigProductionDoneStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigProductionDoneStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigProductionDoneStatus = value;
|
||||
OnPropertyChanged("FinalConfigProductionDoneStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigRkhStatus = null;
|
||||
public bool? FinalConfigRkhStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigRkhStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigRkhStatus = value;
|
||||
OnPropertyChanged("FinalConfigRkhStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigPublicIdStatus = null;
|
||||
public bool? FinalConfigPublicIdStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigPublicIdStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigPublicIdStatus = value;
|
||||
OnPropertyChanged("FinalConfigPublicIdStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigDakStatus = null;
|
||||
public bool? FinalConfigDakStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigDakStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigDakStatus = value;
|
||||
OnPropertyChanged("FinalConfigDakStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigSecGenStatus = null;
|
||||
public bool? FinalConfigSecGenStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigSecGenStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigSecGenStatus = value;
|
||||
OnPropertyChanged("FinalConfigSecGenStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigOemIdStatus = null;
|
||||
public bool? FinalConfigOemIdStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigOemIdStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigOemIdStatus = value;
|
||||
OnPropertyChanged("FinalConfigOemIdStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigFastBootStatus = null;
|
||||
public bool? FinalConfigFastBootStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigFastBootStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigFastBootStatus = value;
|
||||
OnPropertyChanged("FinalConfigFastBootStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigSpdmSecModeStatus = null;
|
||||
public bool? FinalConfigSpdmSecModeStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigSpdmSecModeStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigSpdmSecModeStatus = value;
|
||||
OnPropertyChanged("FinalConfigSpdmSecModeStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigRpmWdogStatus = null;
|
||||
public bool? FinalConfigRpmWdogStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigRpmWdogStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigRpmWdogStatus = value;
|
||||
OnPropertyChanged("FinalConfigRpmWdogStatus");
|
||||
}
|
||||
}
|
||||
|
||||
private bool? _FinalConfigSsmStatus = null;
|
||||
public bool? FinalConfigSsmStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
return _FinalConfigSsmStatus;
|
||||
}
|
||||
set
|
||||
{
|
||||
_FinalConfigSsmStatus = value;
|
||||
OnPropertyChanged("FinalConfigSsmStatus");
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
internal void RebootTo(string Mode)
|
||||
{
|
||||
switch (Mode)
|
||||
|
||||
Reference in New Issue
Block a user