From 7e25fa9d1d14bd69fa24d64a3e41c2e5ec1b2e68 Mon Sep 17 00:00:00 2001 From: Katy Coe Date: Wed, 9 Dec 2020 17:34:38 +0100 Subject: [PATCH] Formats: Add DefaultFilename property --- Il2CppInspector.Common/FileFormatReaders/AABReader.cs | 2 ++ Il2CppInspector.Common/FileFormatReaders/APKReader.cs | 2 ++ Il2CppInspector.Common/FileFormatReaders/ElfReader.cs | 2 ++ Il2CppInspector.Common/FileFormatReaders/FileFormatReader.cs | 3 +++ Il2CppInspector.Common/FileFormatReaders/MachOReader.cs | 2 ++ Il2CppInspector.Common/FileFormatReaders/PEReader.cs | 3 +++ Il2CppInspector.Common/FileFormatReaders/SElfReader.cs | 2 ++ Il2CppInspector.Common/FileFormatReaders/UBReader.cs | 2 ++ 8 files changed, 18 insertions(+) diff --git a/Il2CppInspector.Common/FileFormatReaders/AABReader.cs b/Il2CppInspector.Common/FileFormatReaders/AABReader.cs index 07d0a45..b96de2c 100644 --- a/Il2CppInspector.Common/FileFormatReaders/AABReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/AABReader.cs @@ -20,6 +20,8 @@ namespace Il2CppInspector public AABReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "Package.aab"; + protected override bool Init() { // Check if it's a zip file first because ZipFile.OpenRead is extremely slow if it isn't diff --git a/Il2CppInspector.Common/FileFormatReaders/APKReader.cs b/Il2CppInspector.Common/FileFormatReaders/APKReader.cs index eb47d91..9837e77 100644 --- a/Il2CppInspector.Common/FileFormatReaders/APKReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/APKReader.cs @@ -20,6 +20,8 @@ namespace Il2CppInspector public APKReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "Package.apk"; + protected override bool Init() { // Check if it's a zip file first because ZipFile.OpenRead is extremely slow if it isn't diff --git a/Il2CppInspector.Common/FileFormatReaders/ElfReader.cs b/Il2CppInspector.Common/FileFormatReaders/ElfReader.cs index c717a24..6922a15 100644 --- a/Il2CppInspector.Common/FileFormatReaders/ElfReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/ElfReader.cs @@ -115,6 +115,8 @@ namespace Il2CppInspector public ElfReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "libil2cpp.so"; + public override string Format => Bits == 32 ? "ELF" : "ELF64"; public override string Arch => (Elf) elf_header.e_machine switch { diff --git a/Il2CppInspector.Common/FileFormatReaders/FileFormatReader.cs b/Il2CppInspector.Common/FileFormatReaders/FileFormatReader.cs index 3078a29..3cdb217 100644 --- a/Il2CppInspector.Common/FileFormatReaders/FileFormatReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/FileFormatReader.cs @@ -20,6 +20,7 @@ namespace Il2CppInspector double Version { get; set; } long Length { get; } uint NumImages { get; } + string DefaultFilename { get; } IEnumerable Images { get; } IFileFormatReader this[uint index] { get; } long Position { get; set; } @@ -122,6 +123,8 @@ namespace Il2CppInspector public BinaryObjectReader Stream => this; + public abstract string DefaultFilename { get; } + public long Length => BaseStream.Length; public uint NumImages { get; protected set; } = 1; diff --git a/Il2CppInspector.Common/FileFormatReaders/MachOReader.cs b/Il2CppInspector.Common/FileFormatReaders/MachOReader.cs index befb928..de95eca 100644 --- a/Il2CppInspector.Common/FileFormatReaders/MachOReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/MachOReader.cs @@ -77,6 +77,8 @@ namespace Il2CppInspector protected MachOReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "app"; + public override string Format => "Mach-O " + (Bits == 32 ? "32-bit" : "64-bit"); public override string Arch => (MachO)header.CPUType switch diff --git a/Il2CppInspector.Common/FileFormatReaders/PEReader.cs b/Il2CppInspector.Common/FileFormatReaders/PEReader.cs index 6595056..cf96fcb 100644 --- a/Il2CppInspector.Common/FileFormatReaders/PEReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/PEReader.cs @@ -23,6 +23,9 @@ namespace Il2CppInspector public PEReader(Stream stream) : base(stream) {} + public override string DefaultFilename => "GameAssembly.dll"; + + public override string Format => pe is PEOptHeader32 ? "PE32" : "PE32+"; public override string Arch => coff.Machine switch { diff --git a/Il2CppInspector.Common/FileFormatReaders/SElfReader.cs b/Il2CppInspector.Common/FileFormatReaders/SElfReader.cs index a7a2f60..70a3ce3 100644 --- a/Il2CppInspector.Common/FileFormatReaders/SElfReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/SElfReader.cs @@ -28,6 +28,8 @@ namespace Il2CppInspector { public SElfReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "libil2cpp.so"; + public override string Format => sceData.ProductType == (ulong) SElfExInfoTypes.PTYPE_FAKE? "FSELF" : "SELF"; public override string Arch => "x64"; diff --git a/Il2CppInspector.Common/FileFormatReaders/UBReader.cs b/Il2CppInspector.Common/FileFormatReaders/UBReader.cs index 6c72034..36b8dfa 100644 --- a/Il2CppInspector.Common/FileFormatReaders/UBReader.cs +++ b/Il2CppInspector.Common/FileFormatReaders/UBReader.cs @@ -15,6 +15,8 @@ namespace Il2CppInspector public UBReader(Stream stream) : base(stream) { } + public override string DefaultFilename => "app"; + protected override bool Init() { // Fat headers are always big-endian regardless of architectures Endianness = Endianness.Big;