From 14c1ad2d0b49c0c5480366130e1fa0c167bd7860 Mon Sep 17 00:00:00 2001 From: atom0s Date: Sun, 15 Apr 2018 22:47:13 -0700 Subject: [PATCH] Added support for new SteamStub v3.1.2 variant. (x64) Updated all plugins to make use of reflection to get their versions from their assembly info. Added ignore for Windows image cache file. (Thumbs.db) --- .gitignore | 1 + ExamplePlugin/Main.cs | 3 ++- Steamless.Unpacker.Variant20.x86/Main.cs | 3 ++- .../Properties/AssemblyInfo.cs | 4 ++-- Steamless.Unpacker.Variant30.x64/Main.cs | 3 ++- .../Properties/AssemblyInfo.cs | 4 ++-- Steamless.Unpacker.Variant30.x86/Main.cs | 3 ++- .../Properties/AssemblyInfo.cs | 4 ++-- Steamless.Unpacker.Variant31.x64/Main.cs | 13 ++++++++++--- .../Properties/AssemblyInfo.cs | 4 ++-- Steamless.Unpacker.Variant31.x86/Main.cs | 3 ++- .../Properties/AssemblyInfo.cs | 4 ++-- 12 files changed, 31 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 57a1574..6f0898a 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ dlldata.c *.pidb *.svclog *.scc +Thumbs.db # Chutzpah Test files _Chutzpah* diff --git a/ExamplePlugin/Main.cs b/ExamplePlugin/Main.cs index 31edbad..9981725 100644 --- a/ExamplePlugin/Main.cs +++ b/ExamplePlugin/Main.cs @@ -30,6 +30,7 @@ namespace ExamplePlugin using Steamless.API.Model; using Steamless.API.Services; using System; + using System.Reflection; [SteamlessApiVersion(1, 0)] public class Main : SteamlessPlugin @@ -57,7 +58,7 @@ namespace ExamplePlugin /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 0); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Initialize function called when this plugin is first loaded. diff --git a/Steamless.Unpacker.Variant20.x86/Main.cs b/Steamless.Unpacker.Variant20.x86/Main.cs index f87342c..77d9e38 100644 --- a/Steamless.Unpacker.Variant20.x86/Main.cs +++ b/Steamless.Unpacker.Variant20.x86/Main.cs @@ -39,6 +39,7 @@ namespace Steamless.Unpacker.Variant20.x86 using System.Collections.Generic; using System.IO; using System.Linq; + using System.Reflection; using System.Runtime.InteropServices; using System.Security.Cryptography; @@ -68,7 +69,7 @@ namespace Steamless.Unpacker.Variant20.x86 /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 0); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Internal wrapper to log a message. diff --git a/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs index 028cfa1..3dc2862 100644 --- a/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant20.x86/Properties/AssemblyInfo.cs @@ -36,5 +36,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: Guid("a40154cd-a0fd-4371-8099-ce277e0989af")] -[assembly: AssemblyVersion("1.0.0.2")] -[assembly: AssemblyFileVersion("1.0.0.2")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.0.3")] +[assembly: AssemblyFileVersion("1.0.0.3")] \ No newline at end of file diff --git a/Steamless.Unpacker.Variant30.x64/Main.cs b/Steamless.Unpacker.Variant30.x64/Main.cs index 988b57b..75ef20c 100644 --- a/Steamless.Unpacker.Variant30.x64/Main.cs +++ b/Steamless.Unpacker.Variant30.x64/Main.cs @@ -35,6 +35,7 @@ namespace Steamless.Unpacker.Variant30.x64 using Classes; using System; using System.IO; + using System.Reflection; using System.Security.Cryptography; [SteamlessApiVersion(1, 0)] @@ -63,7 +64,7 @@ namespace Steamless.Unpacker.Variant30.x64 /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 0); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Internal wrapper to log a message. diff --git a/Steamless.Unpacker.Variant30.x64/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant30.x64/Properties/AssemblyInfo.cs index 2c2983f..4d99b21 100644 --- a/Steamless.Unpacker.Variant30.x64/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant30.x64/Properties/AssemblyInfo.cs @@ -36,5 +36,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: Guid("03621ead-77a7-4208-afdf-4b8292230a71")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] \ No newline at end of file diff --git a/Steamless.Unpacker.Variant30.x86/Main.cs b/Steamless.Unpacker.Variant30.x86/Main.cs index 27955c0..f7d3056 100644 --- a/Steamless.Unpacker.Variant30.x86/Main.cs +++ b/Steamless.Unpacker.Variant30.x86/Main.cs @@ -35,6 +35,7 @@ namespace Steamless.Unpacker.Variant30.x86 using Classes; using System; using System.IO; + using System.Reflection; using System.Security.Cryptography; [SteamlessApiVersion(1, 0)] @@ -63,7 +64,7 @@ namespace Steamless.Unpacker.Variant30.x86 /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 1); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Internal wrapper to log a message. diff --git a/Steamless.Unpacker.Variant30.x86/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant30.x86/Properties/AssemblyInfo.cs index 820340d..b983e41 100644 --- a/Steamless.Unpacker.Variant30.x86/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant30.x86/Properties/AssemblyInfo.cs @@ -36,5 +36,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: Guid("b6bb7a32-ab23-4a25-8914-154879aad3fe")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] \ No newline at end of file diff --git a/Steamless.Unpacker.Variant31.x64/Main.cs b/Steamless.Unpacker.Variant31.x64/Main.cs index 6ea4ae9..5d5a32d 100644 --- a/Steamless.Unpacker.Variant31.x64/Main.cs +++ b/Steamless.Unpacker.Variant31.x64/Main.cs @@ -35,6 +35,7 @@ namespace Steamless.Unpacker.Variant31.x64 using Classes; using System; using System.IO; + using System.Reflection; using System.Security.Cryptography; [SteamlessApiVersion(1, 0)] @@ -53,17 +54,17 @@ namespace Steamless.Unpacker.Variant31.x64 /// /// Gets the name of this plugin. /// - public override string Name => "SteamStub Variant 3.1 Unpacker (x64)"; + public override string Name => "SteamStub Variant 3.1.x Unpacker (x64)"; /// /// Gets the description of this plugin. /// - public override string Description => "Unpacker for the 64bit SteamStub variant 3.1."; + public override string Description => "Unpacker for the 64bit SteamStub variant 3.1.x."; /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 0); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Internal wrapper to log a message. @@ -112,6 +113,12 @@ namespace Steamless.Unpacker.Variant31.x64 var offset = Pe64Helpers.FindPattern(bind, "48 8D 91 ?? ?? ?? ?? 48"); // 3.0 if (offset == 0) offset = Pe64Helpers.FindPattern(bind, "48 8D 91 ?? ?? ?? ?? 41"); // 3.1 + if (offset == 0) + { + offset = Pe64Helpers.FindPattern(bind, "48 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? 48"); // 3.1.2 + if (offset > 0) + offset += 5; + } // Ensure a pattern was found.. if (offset == 0) diff --git a/Steamless.Unpacker.Variant31.x64/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant31.x64/Properties/AssemblyInfo.cs index 259edd1..948e8e8 100644 --- a/Steamless.Unpacker.Variant31.x64/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant31.x64/Properties/AssemblyInfo.cs @@ -36,5 +36,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: Guid("05f540fb-d14b-4966-8de2-591b76361cf0")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] \ No newline at end of file diff --git a/Steamless.Unpacker.Variant31.x86/Main.cs b/Steamless.Unpacker.Variant31.x86/Main.cs index aafaf8b..2fcb31c 100644 --- a/Steamless.Unpacker.Variant31.x86/Main.cs +++ b/Steamless.Unpacker.Variant31.x86/Main.cs @@ -36,6 +36,7 @@ namespace Steamless.Unpacker.Variant31.x86 using System; using System.Collections.Generic; using System.IO; + using System.Reflection; using System.Security.Cryptography; [SteamlessApiVersion(1, 0)] @@ -64,7 +65,7 @@ namespace Steamless.Unpacker.Variant31.x86 /// /// Gets the version of this plugin. /// - public override Version Version => new Version(1, 0, 0, 1); + public override Version Version => Assembly.GetExecutingAssembly().GetName().Version; /// /// Internal wrapper to log a message. diff --git a/Steamless.Unpacker.Variant31.x86/Properties/AssemblyInfo.cs b/Steamless.Unpacker.Variant31.x86/Properties/AssemblyInfo.cs index 173a2ed..3508ee1 100644 --- a/Steamless.Unpacker.Variant31.x86/Properties/AssemblyInfo.cs +++ b/Steamless.Unpacker.Variant31.x86/Properties/AssemblyInfo.cs @@ -36,5 +36,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: Guid("0f2fae37-f898-4392-b4f6-711954beeb4f")] -[assembly: AssemblyVersion("1.0.0.1")] -[assembly: AssemblyFileVersion("1.0.0.1")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.0.2")] +[assembly: AssemblyFileVersion("1.0.0.2")] \ No newline at end of file