/Steamless-x64

Steamless is a DRM remover of the SteamStub variants. The goal of Steamless is to make a single solution for unpacking all Steam DRM packed files. Steamless aims to support as many games as possible.

Primary LanguageC#OtherNOASSERTION

Steamless

Code Status

Steamless is a DRM remover of the SteamStub variants.

The goal of Steamless is to make a single solution for unpacking all Steam DRM packed files. Steamless aims to support as many games as possible.
However, due to personal limited funds, I cannot test every game myself.

What Steamless Wont Do For You

Steamless removes the SteamStub DRM protection from games that have it, nothing more.
If the game you are unpacking makes use of the Steamworks API, Steamless WILL NOT remove this layer of DRM.

  • Steamless will not remove the Steamworks API integrations in any game.
  • Steamless will not handle CEG (Custom Executable Generation) DRM that is used by some games.
  • Steamless is not made to assist with piracy.
  • Steamless is not made to assist with bypassing anti-cheats or other protections.

This project makes static analysis on the games files that are protected with SteamStub possible.
Will this allow some games to run without Steam? Yes. But I do not promote piracy and will not help with it at all.

Do not contact me or any contributor to this project with assistance on how to make a game work without Steam.

What is SteamStub DRM?

Steamworks Digital Rights Management wraps your game's compiled executable and checks to make sure that it is running under an authenticated instance of Steam. This DRM solution is the same as the one used to protect games like Half-Life 2 and Counter-Strike: Source. Steamworks DRM has been heavily road-tested and is customer-friendly. 
In addition to DRM solutions, Steamworks also offers protection for game through day one release by shipping encrypted media to stores worldwide. There's no worry that your game will leak early from the manufacturing path, because your game stays encrypted until the moment you decide to release it. This protection can be added to your game simply by handing us finished bits or a gold master. 

ref: hxxps://partner.steamgames.com/documentation/api

Supported Versions

Steamless currently supports the following SteamStub DRM variants:

  • SteamStub Variant 1
    • There is currently no support for this version of the DRM.
  • SteamStub Variant 2
    • 32bit version of this variant is supported.
  • SteamStub Variant 3
    • Variant 3.0.0
      • 32bit version of this variant is supported.
      • 64bit version of this variant is supported.
    • Variant 3.0.1
      • 32bit version of this variant is supported.
      • 64bit version of this variant is supported.
    • Variant 3.1.0
      • 32bit version of this variant is supported.
      • 64bit version of this variant is supported.
    • Variant 3.1.2
      • 32bit version of this variant is supported.
      • 64bit version of this variant is supported.

Please note; these version numbers are superficial. They are an assumed version based on major changes to the DRM over its lifespan.

Legal

Steamless is released under the following license:
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International

Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material 
as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether 
express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness 
for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of 
errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this 
disclaimer may not apply to You.

Steamless is not intended for malicious use or for the use of obtaining or playing games illegally.
Steamless should only be used on games that you legally purchased and own.

Steamless is not associated with Steam or any of its partners / affiliates.
No code used within Steamless is taken from Valve or any of its partners / affiliates.

Steamless is released for educational purposes in the hopes to learn and understand DRM technologies. 

Use Steamless at your own risk. I, atom0s, am not responsible for what happens while using Steamless. You take full reponsibility for any outcome that happens to you while using this application. Do not distribute unpacked files.

Thanks

Thanks to Cyanic (aka Golem_x86) for his notes and help with parts of the stub headers and such.
You can find his information here: http://pcgamingwiki.com/wiki/User:Cyanic/Steam_DRM

Compiling Steamless

Steamless is coded using Visual Studio 2015 (Update 3) at this time.
To compile, you should only need to load the sln file and compile as-is.

No changes should be needed to the solution or source.

Compiling for Linux

Run msbuild Steamless-linux.sln -p:Configuration=Release, and then e. g. mono ./Steamless/bin/x86/Debug/Steamless.CLI.exe path/to/executable.exe.

Note: This only builds a command line version of the application for Linux, it isn't compatible with ELF binaries, only Windows PE.

Contributing To Steamless (Guidelines)

I welcome and encourage contributions to the Steamless project. However, I do have some guidelines I wish for people to follow when doing so.

  • Please follow the similar coding style / naming conventions found in Steamless already.
  • Please do not use tabs. Tabs should be 4 spaces instead.
  • Please do not introduce additional dependencies without a discussion before hand.
  • Please do not alter or remove any copyrights without a discussion prior.
  • Please do not hard code information specific to any one target. Steamless should be dynamic for all titles.

Discussions can be opened within the Issue tracker here: