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

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.

This commit is contained in:
atom0s 2020-12-17 23:16:20 -08:00
parent 869b893ac3
commit 5b286530a4
No known key found for this signature in database
GPG key ID: 37D5FD3494D79AF8
7 changed files with 23 additions and 20 deletions

View file

@ -23,10 +23,10 @@
* No warranties are given. * No warranties are given.
*/ */
namespace Steamless.Unpacker.Variant20.x86.Classes namespace Steamless.Unpacker.Variant21.x86.Classes
{ {
/// <summary> /// <summary>
/// Steam Stub Variant 2.0 DRM Flags /// Steam Stub Variant 2.1 DRM Flags
/// </summary> /// </summary>
public enum DrmFlags public enum DrmFlags
{ {

View file

@ -23,15 +23,15 @@
* No warranties are given. * No warranties are given.
*/ */
namespace Steamless.Unpacker.Variant20.x86.Classes namespace Steamless.Unpacker.Variant21.x86.Classes
{ {
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
/// <summary> /// <summary>
/// SteamStub DRM Variant 2.0 Header /// SteamStub DRM Variant 2.1 Header
/// </summary> /// </summary>
[StructLayout(LayoutKind.Sequential)] [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 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. public uint GetModuleHandleA_idata; // The address of GetModuleHandleA inside of the .idata section.
@ -59,10 +59,10 @@ namespace Steamless.Unpacker.Variant20.x86.Classes
} }
/// <summary> /// <summary>
/// SteamStub DRM Variant 2.0 Header (Header Size: 0xD0 Variant) /// SteamStub DRM Variant 2.1 Header (Header Size: 0xD0 Variant)
/// </summary> /// </summary>
[StructLayout(LayoutKind.Sequential)] [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 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. public uint GetModuleHandleA_idata; // The address of GetModuleHandleA inside of the .idata section.

View file

@ -23,7 +23,7 @@
* No warranties are given. * No warranties are given.
*/ */
namespace Steamless.Unpacker.Variant20.x86.Classes namespace Steamless.Unpacker.Variant21.x86.Classes
{ {
using System; using System;

View file

@ -23,7 +23,7 @@
* No warranties are given. * No warranties are given.
*/ */
namespace Steamless.Unpacker.Variant20.x86 namespace Steamless.Unpacker.Variant21.x86
{ {
using API; using API;
using API.Crypto; using API.Crypto;
@ -200,9 +200,9 @@ namespace Steamless.Unpacker.Variant20.x86
// Determine how to handle the header based on the size.. // Determine how to handle the header based on the size..
if ((structSize / 4) == 0xD0) if ((structSize / 4) == 0xD0)
this.StubHeader = Pe32Helpers.GetStructure<SteamStub32Var20Header_D0Variant>(headerData); this.StubHeader = Pe32Helpers.GetStructure<SteamStub32Var21Header_D0Variant>(headerData);
else else
this.StubHeader = Pe32Helpers.GetStructure<SteamStub32Var20Header>(headerData); this.StubHeader = Pe32Helpers.GetStructure<SteamStub32Var21Header>(headerData);
return true; return true;
} }

View file

@ -26,12 +26,12 @@
using System.Reflection; using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Steamless.Unpacker.Variant20.x86")] [assembly: AssemblyTitle("Steamless.Unpacker.Variant21.x86")]
[assembly: AssemblyDescription("Steamless SteamStub Variant v2.0 (x86) Unpacker")] [assembly: AssemblyDescription("Steamless SteamStub Variant v2.1 (x86) Unpacker")]
[assembly: AssemblyConfiguration("Release")] [assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyCompany("atom0s")] [assembly: AssemblyCompany("atom0s")]
[assembly: AssemblyProduct("Steamless.Unpacker.Variant20.x86")] [assembly: AssemblyProduct("Steamless.Unpacker.Variant21.x86")]
[assembly: AssemblyCopyright("Copyright © atom0s 2015 - 2019")] [assembly: AssemblyCopyright("Copyright © atom0s 2015 - 2020")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
[assembly: ComVisible(false)] [assembly: ComVisible(false)]

View file

@ -7,8 +7,8 @@
<ProjectGuid>{A40154CD-A0FD-4371-8099-CE277E0989AF}</ProjectGuid> <ProjectGuid>{A40154CD-A0FD-4371-8099-CE277E0989AF}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Steamless.Unpacker.Variant20.x86</RootNamespace> <RootNamespace>Steamless.Unpacker.Variant21.x86</RootNamespace>
<AssemblyName>Steamless.Unpacker.Variant20.x86</AssemblyName> <AssemblyName>Steamless.Unpacker.Variant21.x86</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
</PropertyGroup> </PropertyGroup>

View file

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14 # Visual Studio Version 16
VisualStudioVersion = 14.0.25420.1 VisualStudioVersion = 16.0.30717.126
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless", "Steamless\Steamless.csproj", "{10AC8FDE-09D9-47B4-AA89-BADC40EECAAB}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless", "Steamless\Steamless.csproj", "{10AC8FDE-09D9-47B4-AA89-BADC40EECAAB}"
EndProject EndProject
@ -13,7 +13,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steamless.Unpacker.Variant3
EndProject 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}" 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 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 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}" 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 EndProject
@ -61,4 +61,7 @@ Global
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B56DED45-3243-4E3E-A809-40146A4040D5}
EndGlobalSection
EndGlobal EndGlobal