explaingit

atom0s/steamless

4,705C#Audience · developerComplexity · 2/5LicenseSetup · easy

TLDR

Steamless is a C# tool that strips SteamStub DRM from Steam game executables you legally own, letting you understand how DRM wrapping works and run the game file independently for educational purposes.

Mindmap

mindmap
  root((steamless))
    What it does
      Remove SteamStub DRM
      Unwrap executables
      DRM analysis
    Tech stack
      C-sharp
      Visual Studio
      Windows
    Supported variants
      Variant 1
      Variant 2
      Variant 3
    Audience
      Researchers
      Developers
      Reverse engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Strip SteamStub DRM from a Steam game executable you legally own to study how the DRM wrapper is structured.

USE CASE 2

Compile and run Steamless in Visual Studio 2022 to process a 32-bit or 64-bit game executable protected by SteamStub Variant 3.

USE CASE 3

Use Steamless as a reference implementation to understand how software DRM wrapping and executable patching work at a technical level.

Tech stack

C#Visual Studio

Getting it running

Difficulty · easy Time to first run · 30min

Requires Visual Studio 2022 to compile from source, only for personal or educational use on games you legally own, commercial use is prohibited by the license.

Free for personal and educational use only, commercial use and creating derivative works are not allowed.

In plain English

Steamless is a C# application that removes a specific type of copy protection called SteamStub DRM from game executables distributed through Steam. SteamStub is a protection layer that Valve offers to game developers via the Steamworks SDK. It wraps the game's executable file and verifies that Steam is running and authenticated before the game can start. Steamless strips that wrapper off the executable. The README is explicit about what the tool does not do. It will not remove the Steamworks API integration that handles features like leaderboards or achievements. It will not include or distribute any software for running Steam games without a Steam account. It will not handle Valve's older CEG (Custom Executable Generation) protection used on some classic titles. The author states clearly that the tool is not intended for piracy and should only be used on games the user legally owns. Steamless supports several generations of SteamStub protection, referred to internally as Variant 1, Variant 2, and Variant 3, with multiple sub-versions under each. Variant 3 covers both 32-bit and 64-bit executables. The version numbering is the author's own labeling system based on observed differences in the DRM structure, not an official Valve versioning scheme. The project is released under a Creative Commons license that allows personal and educational use but prohibits commercial use and derivative works. The author describes its purpose as understanding how DRM technology works. The tool is built with Visual Studio 2022 and can be compiled by loading the solution file. Contributions are accepted but the author asks contributors to follow the existing code style, avoid adding new dependencies without discussion, and keep the tool general so it works across many titles rather than being hard-coded for specific games.

Copy-paste prompts

Prompt 1
I have a Steam game I legally own with SteamStub Variant 3 DRM. Walk me through using Steamless to strip the DRM wrapper from the 64-bit executable and what the output file looks like.
Prompt 2
How do I compile Steamless from source in Visual Studio 2022? Walk me through loading the solution file and building the release configuration.
Prompt 3
I'm studying how SteamStub DRM works. Using Steamless as a reference, explain what Variant 1, Variant 2, and Variant 3 differ in and how the tool detects which one is protecting a given executable.
Prompt 4
What does Steamless NOT remove from a game executable? I want to understand the difference between SteamStub DRM and the Steamworks API integration for features like achievements.
Prompt 5
I want to contribute a new SteamStub variant handler to Steamless. What are the code style and contribution guidelines I need to follow?
Open on GitHub → Explain another repo

← atom0s on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.