From 5b286530a4732236ee992c0a4156212661293ae6 Mon Sep 17 00:00:00 2001 From: atom0s Date: Thu, 17 Dec 2020 23:16:20 -0800 Subject: [PATCH] Renamed SteamStub variant 2.0 to 2.1. This is a major change due to a file being presented that looks to be an earlier version of the 2.x variant. This new (older) file presents like 2.x however, it predates some more common features such as the XTEA encryption seen in 2.1 and newer. This version seems less feature-rich and thus I feel it's actually 2.0. --- .../Classes/SteamStubDrmFlags.cs | 4 ++-- .../Classes/SteamStubHeader.cs | 10 +++++----- .../Classes/SteamStubHelpers.cs | 2 +- Steamless.Unpacker.Variant20.x86/Main.cs | 6 +++--- .../Properties/AssemblyInfo.cs | 8 ++++---- ....csproj => Steamless.Unpacker.Variant21.x86.csproj} | 4 ++-- Steamless.sln | 9 ++++++--- 7 files changed, 23 insertions(+), 20 deletions(-) rename Steamless.Unpacker.Variant20.x86/{Steamless.Unpacker.Variant20.x86.csproj => Steamless.Unpacker.Variant21.x86.csproj} (95%) diff --git a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubDrmFlags.cs b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubDrmFlags.cs index baff4d4..f0bd631 100644 --- a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubDrmFlags.cs +++ b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubDrmFlags.cs @@ -23,10 +23,10 @@ * No warranties are given. */ -namespace Steamless.Unpacker.Variant20.x86.Classes +namespace Steamless.Unpacker.Variant21.x86.Classes { /// - /// Steam Stub Variant 2.0 DRM Flags + /// Steam Stub Variant 2.1 DRM Flags /// public enum DrmFlags { diff --git a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHeader.cs b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHeader.cs index 1dc5412..5461898 100644 --- a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHeader.cs +++ b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHeader.cs @@ -23,15 +23,15 @@ * No warranties are given. */ -namespace Steamless.Unpacker.Variant20.x86.Classes +namespace Steamless.Unpacker.Variant21.x86.Classes { using System.Runtime.InteropServices; /// - /// SteamStub DRM Variant 2.0 Header + /// SteamStub DRM Variant 2.1 Header /// [StructLayout(LayoutKind.Sequential)] - public struct SteamStub32Var20Header + public struct SteamStub32Var21Header { public uint XorKey; // The base XOR key, if defined, to unpack the file with. public uint GetModuleHandleA_idata; // The address of GetModuleHandleA inside of the .idata section. @@ -59,10 +59,10 @@ namespace Steamless.Unpacker.Variant20.x86.Classes } /// - /// SteamStub DRM Variant 2.0 Header (Header Size: 0xD0 Variant) + /// SteamStub DRM Variant 2.1 Header (Header Size: 0xD0 Variant) /// [StructLayout(LayoutKind.Sequential)] - public struct SteamStub32Var20Header_D0Variant + public struct SteamStub32Var21Header_D0Variant { public uint XorKey; // The base XOR key, if defined, to unpack the file with. public uint GetModuleHandleA_idata; // The address of GetModuleHandleA inside of the .idata section. diff --git a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHelpers.cs b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHelpers.cs index f6fe9bc..a40ba6c 100644 --- a/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHelpers.cs +++ b/Steamless.Unpacker.Variant20.x86/Classes/SteamStubHelpers.cs @@ -23,7 +23,7 @@ * No warranties are given. */ -namespace Steamless.Unpacker.Variant20.x86.Classes +namespace Steamless.Unpacker.Variant21.x86.Classes { using System; diff --git a/Steamless.Unpacker.Variant20.x86/Main.cs b/Steamless.Unpacker.Variant20.x86/Main.cs index 952e480..85da29d 100644 --- a/Steamless.Unpacker.Variant20.x86/Main.cs +++ b/Steamless.Unpacker.Variant20.x86/Main.cs @@ -23,7 +23,7 @@ * No warranties are given. */ -namespace Steamless.Unpacker.Variant20.x86 +namespace Steamless.Unpacker.Variant21.x86 { using API; using API.Crypto; @@ -200,9 +200,9 @@ namespace Steamless.Unpacker.Variant20.x86 // Determine how to handle the header based on the size.. if ((structSize / 4) == 0xD0) - this.StubHeader = Pe32Helpers.GetStructure(headerData); + this.StubHeader = Pe32Helpers.GetStructure(headerData); else - this.StubHeader = Pe32Helpers.GetStructure(headerData); + this.StubHeader = Pe32Helpers.GetStructure(headerData); return true; } diff --git a/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs index 66e3b12..1c2f1d4 100644 --- a/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs @@ -26,12 +26,12 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("Steamless.Unpacker.Variant20.x86")] -[assembly: AssemblyDescription("Steamless SteamStub Variant v2.0 (x86) Unpacker")] +[assembly: AssemblyTitle("Steamless.Unpacker.Variant21.x86")] +[assembly: AssemblyDescription("Steamless SteamStub Variant v2.1 (x86) Unpacker")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCompany("atom0s")] -[assembly: AssemblyProduct("Steamless.Unpacker.Variant20.x86")] -[assembly: AssemblyCopyright("Copyright © atom0s 2015 - 2019")] +[assembly: AssemblyProduct("Steamless.Unpacker.Variant21.x86")] +[assembly: AssemblyCopyright("Copyright © atom0s 2015 - 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant20.x86.csproj b/Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant21.x86.csproj similarity index 95% rename from Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant20.x86.csproj rename to Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant21.x86.csproj index 30a95e5..86fe5e4 100644 --- a/Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant20.x86.csproj +++ b/Steamless.Unpacker.Variant20.x86/Steamless.Unpacker.Variant21.x86.csproj @@ -7,8 +7,8 @@ {A40154CD-A0FD-4371-8099-CE277E0989AF} Library Properties - Steamless.Unpacker.Variant20.x86 - Steamless.Unpacker.Variant20.x86 + Steamless.Unpacker.Variant21.x86 + Steamless.Unpacker.Variant21.x86 v4.5.2 512 diff --git a/Steamless.sln b/Steamless.sln index 45eac49..2f18d04 100644 --- a/Steamless.sln +++ b/Steamless.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30717.126 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless", "Steamless\Steamless.csproj", "{10AC8FDE-09D9-47B4-AA89-BADC40EECAAB}" EndProject @@ -13,7 +13,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant3 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant31.x86", "Steamless.Unpacker.Variant31.x86\Steamless.Unpacker.Variant31.x86.csproj", "{0F2FAE37-F898-4392-B4F6-711954BEEB4F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant20.x86", "Steamless.Unpacker.Variant20.x86\Steamless.Unpacker.Variant20.x86.csproj", "{A40154CD-A0FD-4371-8099-CE277E0989AF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant21.x86", "Steamless.Unpacker.Variant20.x86\Steamless.Unpacker.Variant21.x86.csproj", "{A40154CD-A0FD-4371-8099-CE277E0989AF}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant31.x64", "Steamless.Unpacker.Variant31.x64\Steamless.Unpacker.Variant31.x64.csproj", "{05F540FB-D14B-4966-8DE2-591B76361CF0}" EndProject @@ -61,4 +61,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B56DED45-3243-4E3E-A809-40146A4040D5} + EndGlobalSection EndGlobal