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:
parent
b3d5981784
commit
57dba9916f
4 changed files with 27 additions and 16 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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")]
|
|
@ -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")]
|
|
@ -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">
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue