1
0
Fork 0
mirror of https://github.com/atom0s/Steamless.git synced 2024-12-28 23:37:41 +01:00

Added support for new SteamStub v3.1.2 variant. (x86 only at this time. I do not have any 64bit test files.)

- Thanks to Gano for supplying test files.
 - Thanks to immorr for supplying test files.
Adjusted the default window size on startup so that the full plugin names are seen with default screen settings.
This commit is contained in:
atom0s 2017-12-16 18:07:07 -08:00
parent b3d5981784
commit 57dba9916f
4 changed files with 27 additions and 16 deletions

View file

@ -34,6 +34,7 @@ namespace Steamless.Unpacker.Variant31.x86
using API.Services; using API.Services;
using Classes; using Classes;
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Security.Cryptography; using System.Security.Cryptography;
@ -108,19 +109,29 @@ namespace Steamless.Unpacker.Variant31.x86
var varient = Pe32Helpers.FindPattern(bind, "E8 00 00 00 00 50 53 51 52 56 57 55 8B 44 24 1C 2D 05 00 00 00 8B CC 83 E4 F0 51 51 51 50"); var varient = Pe32Helpers.FindPattern(bind, "E8 00 00 00 00 50 53 51 52 56 57 55 8B 44 24 1C 2D 05 00 00 00 8B CC 83 E4 F0 51 51 51 50");
if (varient == 0) return false; if (varient == 0) return false;
// Attempt to determine the varient version.. // Version patterns..
int headerSize; var varientPatterns = new List<KeyValuePair<string, int>>
var offset = Pe32Helpers.FindPattern(bind, "55 8B EC 81 EC ?? ?? ?? ?? 53 ?? ?? ?? ?? ?? 68"); {
if (offset == 0) new KeyValuePair<string, int>("55 8B EC 81 EC ?? ?? ?? ?? 53 ?? ?? ?? ?? ?? 68", 0x10), // v3.1 [Original version?]
{ new KeyValuePair<string, int>("55 8B EC 81 EC ?? ?? ?? ?? 53 ?? ?? ?? ?? ?? 8D 83", 0x16), // v3.1.1 [Newer, 3.1.1? (Seen 2015?)]
offset = Pe32Helpers.FindPattern(bind, "55 8B EC 81 EC ?? ?? ?? ?? 53 ?? ?? ?? ?? ?? 8D 83"); new KeyValuePair<string, int>("55 8B EC 81 EC ?? ?? ?? ?? 56 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 8D", 0x10) // v3.1.2 [Newer, 3.1.2? (Seen late 2017.)]
if (offset == 0) };
return false;
headerSize = BitConverter.ToInt32(bind, (int)offset + 22); var headerSize = 0;
uint offset = 0;
foreach (var p in varientPatterns)
{
offset = Pe32Helpers.FindPattern(bind, p.Key);
if (offset <= 0)
continue;
headerSize = BitConverter.ToInt32(bind, (int)offset + p.Value);
break;
} }
else
headerSize = BitConverter.ToInt32(bind, (int)offset + 16); // Ensure valid data was found..
if (offset == 0 || headerSize == 0)
return false;
return headerSize == 0xF0; return headerSize == 0xF0;
} }

View file

@ -36,5 +36,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
[assembly: Guid("0f2fae37-f898-4392-b4f6-711954beeb4f")] [assembly: Guid("0f2fae37-f898-4392-b4f6-711954beeb4f")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.1")]

View file

@ -37,5 +37,5 @@ using System.Windows;
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]
[assembly: AssemblyVersion("3.0.0.4")] [assembly: AssemblyVersion("3.0.0.5")]
[assembly: AssemblyFileVersion("3.0.0.4")] [assembly: AssemblyFileVersion("3.0.0.5")]

View file

@ -30,7 +30,7 @@
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:view="clr-namespace:Steamless.View" xmlns:view="clr-namespace:Steamless.View"
mc:Ignorable="d" FontFamily="Tahoma" Icon="../Assets/steam.ico" mc:Ignorable="d" FontFamily="Tahoma" Icon="../Assets/steam.ico"
Title="Steamless" MinHeight="600" MaxHeight="800" MinWidth="450" Width="450" SizeToContent="Height" Title="Steamless" MinHeight="600" MaxHeight="800" MinWidth="450" Width="525" SizeToContent="Height"
TextOptions.TextRenderingMode="ClearType" TextOptions.TextFormattingMode="Display" ResizeMode="CanResizeWithGrip" TextOptions.TextRenderingMode="ClearType" TextOptions.TextFormattingMode="Display" ResizeMode="CanResizeWithGrip"
AllowsTransparency="True" WindowStartupLocation="CenterScreen" WindowStyle="None"> AllowsTransparency="True" WindowStartupLocation="CenterScreen" WindowStyle="None">