1
0
Fork 0
mirror of https://github.com/atom0s/Steamless.git synced 2024-12-19 23:07:41 +01:00
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.
Find a file
2022-04-24 21:34:23 -07:00
.github Add Patreon link to FUNDING.yml 2022-03-26 02:52:24 -07:00
ExamplePlugin Update project information copyrights. 2022-03-25 18:53:29 -07:00
Steamless Bump version number. 2022-04-04 21:40:50 -07:00
Steamless.API API: PE64 - Add new functionality to Pe64Helpers to recalculate a PE file checksum. 2022-03-26 02:38:35 -07:00
Steamless.CLI Small cleanup. 2022-04-04 22:03:28 -07:00
Steamless.Unpacker.Variant10.x86 CLI: Remove .pdb generation on Release mode. 2022-04-04 21:59:42 -07:00
Steamless.Unpacker.Variant20.x86 Unpackers: (x86) - Ensure all unpacked files default to a checksum of 0. 2022-03-26 02:25:36 -07:00
Steamless.Unpacker.Variant21.x86 * Unpacker v2.1 (x86) - Updated the header to handle the StubData more correctly. 2022-04-24 21:34:23 -07:00
Steamless.Unpacker.Variant30.x64 API: PE64 - Add new functionality to Pe64Helpers to recalculate a PE file checksum. 2022-03-26 02:38:35 -07:00
Steamless.Unpacker.Variant30.x86 Unpackers: (x86) - Ensure all unpacked files default to a checksum of 0. 2022-03-26 02:25:36 -07:00
Steamless.Unpacker.Variant31.x64 API: PE64 - Add new functionality to Pe64Helpers to recalculate a PE file checksum. 2022-03-26 02:38:35 -07:00
Steamless.Unpacker.Variant31.x86 Unpackers: (x86) - Ensure all unpacked files default to a checksum of 0. 2022-03-26 02:25:36 -07:00
.gitignore Added support for new SteamStub v3.1.2 variant. (x64) 2018-04-15 22:47:13 -07:00
LICENSE Initial commit. 2017-01-06 02:09:29 -08:00
README.md Updated the project README.md 2022-03-27 00:19:57 -07:00
Steamless.sln Core: Added Steamless.CLI to run Steamless from the command line. 2022-04-04 21:37:35 -07:00

Steamless

Steamless is a DRM remover of the various SteamStub variants applied to applications and games released on Steam via the DRM tool in the Steamworks SDK.

Steamless aims to be a single solution for unpacking all variants of the SteamStub DRM, ranging from the very first version to the most recently released.

However, due to personal limited funds, I cannot test every game myself.

Donations

Want to say thanks for my work on Steamless? Feel free to donate or sponsor me:

What Steamless Will Do

Steamless will remove the SteamStub DRM protection layer that is applied via the DRM tool from the Steamworks SDK.

What Steamless Wont Do

Steamless WILL NEVER do any of the following:

  • Steamless will never remove the Steamworks API integration. (via steam_api.dll/steam_api64.dll)
  • Steamless will never include or distribute any emulator for the Steamworks API integration.
  • Steamless will never handle Valve's CEG (Custom Executable Generation) DRM that is used on some older games.
  • Steamless will never promote, encourage, or assist with piracy.
  • Steamless will never assist with bypassing anti-cheats or other protections in place by games.

Do not ask for help with running games without Steam. Your requests will be ignored/blocked.

That is not the scope or goal of this project.

What is SteamStub DRM?

From the Steamworks documentation:

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
    • 32bit version is supported. (Support for this is only tested with 1 file so far.)
  • SteamStub Variant 2
    • v2.0.0
      • 32bit version is supported.
    • v2.0.1
      • 32bit version is supported.
  • SteamStub Variant 3
    • v3.0.0
      • 32bit version is supported.
      • 64bit version is supported.
    • v3.0.1
      • 32bit version is supported.
      • 64bit version is supported.
    • v3.1.0
      • 32bit version is supported.
      • 64bit version is supported.
    • v3.1.2
      • 32bit version is supported.
      • 64bit version is supported.

Note: Version numbers are not 'real'. They are superficial and are simply assumed versions based on major changes to the DRM and what has been observed in the various submitted file samples. A better versioning system may come at a later date.

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 2022.
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.

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: