mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[Symbian Installation File] Decode requisite UIDs for Series 60 Platform IDs.
This commit is contained in:
119
Aaru.Archives/Localization/Localization.Designer.cs
generated
119
Aaru.Archives/Localization/Localization.Designer.cs
generated
@@ -150,7 +150,7 @@ namespace Aaru.Archives {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Required UID {0} version {1}.{2}.
|
/// Looks up a localized string similar to Required {0} version {1}.{2}.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string Required_UID_0_version_1_2 {
|
internal static string Required_UID_0_version_1_2 {
|
||||||
get {
|
get {
|
||||||
@@ -194,6 +194,123 @@ namespace Aaru.Archives {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to UID 0x{0:X8}.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_0 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_0", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Nokia Belle.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Nokia_Belle {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Nokia_Belle", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 1st Edition.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_1st_Edition {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_1st_Edition", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 1st Edition, Feature Pack 1.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 2nd Edition.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_2nd_Edition {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 1.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 2.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 3.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 3rd Edition.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_3rd_Edition {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 3rd Edition, Feature Pack 1.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 3rd Edition, Feature Pack 2.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Series 60 5th Edition.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Series_60_5th_Edition {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Series_60_5th_Edition", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Symbian^3.
|
||||||
|
/// </summary>
|
||||||
|
internal static string SIS_Platform_UID_Symbian_3 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SIS_Platform_UID_Symbian_3", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to SymbianOS 3 or later.
|
/// Looks up a localized string similar to SymbianOS 3 or later.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<value>Ficheros para todos los idiomas:</value>
|
<value>Ficheros para todos los idiomas:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Required_UID_0_version_1_2" xml:space="preserve">
|
<data name="Required_UID_0_version_1_2" xml:space="preserve">
|
||||||
<value>Requerida UID {0} versión {1}.{2}</value>
|
<value>Requerida {0} versión {1}.{2}</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Required_variant_0" xml:space="preserve">
|
<data name="Required_variant_0" xml:space="preserve">
|
||||||
<value>Variante requerida: {0}</value>
|
<value>Variante requerida: {0}</value>
|
||||||
@@ -81,4 +81,43 @@
|
|||||||
<data name="Requisite_for_language_0_1" xml:space="preserve">
|
<data name="Requisite_for_language_0_1" xml:space="preserve">
|
||||||
<value>Requisito para el idioma {0}: {1}</value>
|
<value>Requisito para el idioma {0}: {1}</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Nokia_Belle" xml:space="preserve">
|
||||||
|
<value>Nokia Belle</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_1st_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 1ª Edición</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 1ª Edición, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 2ª Edición</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 2ª Edición, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2" xml:space="preserve">
|
||||||
|
<value>Series 60 2ª Edición, Feature Pack 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3" xml:space="preserve">
|
||||||
|
<value>Series 60 2ª Edición, Feature Pack 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 3ª Edición</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 3ª Edición, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2" xml:space="preserve">
|
||||||
|
<value>Series 60 3ª Edición, Feature Pack 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_5th_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 5ª Edición</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Symbian_3" xml:space="preserve">
|
||||||
|
<value>Symbian^3</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_0" xml:space="preserve">
|
||||||
|
<value>UID 0x{0:X8}</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
<value>Requisite #{0}:</value>
|
<value>Requisite #{0}:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Required_UID_0_version_1_2" xml:space="preserve">
|
<data name="Required_UID_0_version_1_2" xml:space="preserve">
|
||||||
<value>Required UID {0} version {1}.{2}</value>
|
<value>Required {0} version {1}.{2}</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Required_variant_0" xml:space="preserve">
|
<data name="Required_variant_0" xml:space="preserve">
|
||||||
<value>Required variant: {0}</value>
|
<value>Required variant: {0}</value>
|
||||||
@@ -89,4 +89,43 @@
|
|||||||
<data name="Requisite_for_language_0_1" xml:space="preserve">
|
<data name="Requisite_for_language_0_1" xml:space="preserve">
|
||||||
<value>Requisite for language {0}: {1}</value>
|
<value>Requisite for language {0}: {1}</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_1st_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 1st Edition</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 1st Edition, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 2nd Edition</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 2nd Edition, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2" xml:space="preserve">
|
||||||
|
<value>Series 60 2nd Edition, Feature Pack 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3" xml:space="preserve">
|
||||||
|
<value>Series 60 2nd Edition, Feature Pack 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 3rd Edition</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1" xml:space="preserve">
|
||||||
|
<value>Series 60 3rd Edition, Feature Pack 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2" xml:space="preserve">
|
||||||
|
<value>Series 60 3rd Edition, Feature Pack 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Series_60_5th_Edition" xml:space="preserve">
|
||||||
|
<value>Series 60 5th Edition</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Symbian_3" xml:space="preserve">
|
||||||
|
<value>Symbian^3</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_Nokia_Belle" xml:space="preserve">
|
||||||
|
<value>Nokia Belle</value>
|
||||||
|
</data>
|
||||||
|
<data name="SIS_Platform_UID_0" xml:space="preserve">
|
||||||
|
<value>UID 0x{0:X8}</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -259,8 +259,9 @@ public sealed partial class Symbian
|
|||||||
requisiteRecord.namesPointers = MemoryMarshal.Cast<byte, uint>(span)[..languages.Count].ToArray();
|
requisiteRecord.namesPointers = MemoryMarshal.Cast<byte, uint>(span)[..languages.Count].ToArray();
|
||||||
|
|
||||||
description.AppendFormat(Localization.Requisite_0, r).AppendLine();
|
description.AppendFormat(Localization.Requisite_0, r).AppendLine();
|
||||||
description.AppendFormat("\t" + Localization.Required_UID_0_version_1_2, requisiteRecord.uid,
|
description.AppendFormat("\t" + Localization.Required_UID_0_version_1_2,
|
||||||
requisiteRecord.majorVersion, requisiteRecord.minorVersion).
|
DecodePlatformUid(requisiteRecord.uid), requisiteRecord.majorVersion,
|
||||||
|
requisiteRecord.minorVersion).
|
||||||
AppendLine();
|
AppendLine();
|
||||||
description.AppendFormat("\t" + Localization.Required_variant_0, requisiteRecord.variant).AppendLine();
|
description.AppendFormat("\t" + Localization.Required_variant_0, requisiteRecord.variant).AppendLine();
|
||||||
|
|
||||||
|
|||||||
54
Aaru.Archives/Symbian/UID.cs
Normal file
54
Aaru.Archives/Symbian/UID.cs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
// /***************************************************************************
|
||||||
|
// Aaru Data Preservation Suite
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Filename : Symbian.cs
|
||||||
|
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||||
|
//
|
||||||
|
// Component : Symbian plugin.
|
||||||
|
//
|
||||||
|
// --[ Description ] ----------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Identifies Symbian installer (.sis) packages and shows information.
|
||||||
|
//
|
||||||
|
// --[ License ] --------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
|
// published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful, but
|
||||||
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Copyright © 2011-2023 Natalia Portillo
|
||||||
|
// ****************************************************************************/
|
||||||
|
|
||||||
|
namespace Aaru.Archives;
|
||||||
|
|
||||||
|
public sealed partial class Symbian
|
||||||
|
{
|
||||||
|
static string DecodePlatformUid(uint uid) =>
|
||||||
|
uid switch
|
||||||
|
{
|
||||||
|
0x101F6F88 => Localization.SIS_Platform_UID_Series_60_1st_Edition,
|
||||||
|
0x101F8202 => Localization.SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1,
|
||||||
|
0x101F7960 => Localization.SIS_Platform_UID_Series_60_2nd_Edition,
|
||||||
|
0x101F9115 => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1,
|
||||||
|
0x10200BAB => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2,
|
||||||
|
0x102032BD => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3,
|
||||||
|
0x101F7961 => Localization.SIS_Platform_UID_Series_60_3rd_Edition,
|
||||||
|
0x102032BE => Localization.SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1,
|
||||||
|
0x102752AE => Localization.SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2,
|
||||||
|
0x1028315F => Localization.SIS_Platform_UID_Series_60_5th_Edition,
|
||||||
|
0x20022E6D => Localization.SIS_Platform_UID_Symbian_3,
|
||||||
|
0x2003A678 => Localization.SIS_Platform_UID_Nokia_Belle,
|
||||||
|
_ => string.Format(Localization.SIS_Platform_UID_0, uid)
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user