Skip to content

asdfmonster261/unstub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

unstub

A Python SteamStub DRM unpacker supporting x86 and x64 executables across multiple stub variants.

Supported Variants

Variant Architecture
SteamStub 2.0 x86
SteamStub 2.1 x86
SteamStub 3.0 x86, x64
SteamStub 3.1 x86, x64

Requirements

  • Python 3.8+
  • No third-party dependencies required

Usage

python3 unstub.py <file> [options]

Options

Flag Description
--keepbind Keep the .bind section in the output
--keepstub Keep the DOS stub (default: zeroed)
--dumppayload Dump the stub payload to disk
--dumpdrmp Dump SteamDRMP.dll to disk
--realign Realign sections after .bind removal (default: off)
--recalcchecksum Recalculate the PE checksum
--quiet Suppress debug output

Examples

python3 unstub.py game.exe
python3 unstub.py game.exe --keepbind --dumppayload
python3 unstub.py game.exe --dumpdrmp --recalcchecksum

The unpacked file is written alongside the input as <filename>.unpacked.exe.

Project Structure

unstub.py                     # CLI entry point
unstub/
    crypto.py                 # XOR, XTEA, and AES-CBC crypto primitives
    pe.py                     # PE32/PE64 parser and builder
    base_unpacker.py          # Shared unpacking pipeline (v3.x)
    utils.py                  # Pattern matching, alignment, PE checksum
    x86.py                    # x86 instruction decoder
    unpackers/
        variant20.py          # SteamStub 2.0 unpacker
        variant21.py          # SteamStub 2.1 unpacker
        variant30.py          # SteamStub 3.0 unpacker
        variant31.py          # SteamStub 3.1 unpacker

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages