Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/desertcod98/desteam
DeSteam is a SteamDrm automated unpacker. Currently it supports only one version of the SteamDrm.
https://github.com/desertcod98/desteam
csharp drm hacking reverse-engineering steam steamstub-drm
Last synced: about 1 month ago
JSON representation
DeSteam is a SteamDrm automated unpacker. Currently it supports only one version of the SteamDrm.
- Host: GitHub
- URL: https://github.com/desertcod98/desteam
- Owner: desertcod98
- License: gpl-3.0
- Created: 2024-07-09T13:44:29.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-11T21:23:34.000Z (4 months ago)
- Last Synced: 2024-07-12T23:14:03.278Z (4 months ago)
- Topics: csharp, drm, hacking, reverse-engineering, steam, steamstub-drm
- Language: C#
- Homepage:
- Size: 2.88 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DeSteam
DeSteam purpose is to unpack files packed with SteamDrm. It currently works on only one of the SteamDrm versions, tested only on three games as of now. I created this project for the sole purpose of learning about DRMs and getting better at reverse engineering.
**I do not take responsibility for the improper use of the software, you should only use this on games/applications that you legally own and you should not distribute unpacked files. This software was made for educational purposes ONLY.**
## Installation
Download the last release from the [Releases page](https://github.com/desertcod98/DeSteam/releases/), then just run the .exe according to the [Usage section](#Usage).
Alternately you can compile the C# code yourself, it is originally compiled in Visual Studio 2022.## Usage
In a terminal you have to execute the program with this argument:
`./DeSteam.exe [path_to_file_to_unpack]`Optional arguments are:
```
-v, --verbose Shows additional info when executing. (Default: false)
-o, --output Specify unpacked file name. (Default: [original_name].unpacked.exe)
```## Dependencies
Currently DeSteam depends on:
* [Unicorn emulator](https://github.com/unicorn-engine/unicorn), to emulate a part of the unpacking code extracted from the SteamDrm.
* [unicorn-net](https://github.com/FICTURE7/unicorn-net), a .NET wrapper of the unicorn emulator.
* [commandlineparser](https://github.com/commandlineparser/commandline/), a library allowing easy management of arguments passed to the program.## What exactly is the Steam DRM?
Quoting from Steam Steamworks documentation:
> The Steam DRM wrapper is an important part of Steam platform because it verifies game ownership and ensures that Steamworks features work properly by launching Steam before launching the game.> The Steam DRM wrapper by itself is not an anti-piracy solution. The Steam DRM wrapper protects against extremely casual piracy (i.e. copying all game files to another computer) and has some obfuscation, but it is easily removed by a motivated attacker.
> We suggest enhancing the value of legitimate copies of your game by using Steamworks features which won't work on non-legitimate copies (e.g. online multiplayer, achievements, leaderboards, trading cards, etc.).