atom0s / Steamless

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.
Other
3.12k stars 195 forks source link

Steamless Memory error when trying to unpack game executable #39

Closed throwaway41404 closed 3 years ago

throwaway41404 commented 4 years ago

[Steamless] Caught unhandled exception trying to unpack file. [Steamless] Exception: [Steamless] insufficient memory to continue the execution of the program (line by line from the log) this happens when trying to unpack Doom VFR, if i get that error i must restart steamless and try again and it sometimes works Game Executable: https://www93.zippyshare.com/v/y3HnKTAI/file.html Game Executable size: 198MB

OdinVex commented 4 years ago

Are you sure your rig has enough RAM? I have 32GB in my laptop alone and easily Linux+Wine Steamless with no issues.

throwaway41404 commented 4 years ago

Yes, i have 16GB, and I'm using 5GB with everything open so i got 11GB left, i'm 100% not running out of memory, and the luck im having now, i can't even get steamless to even unpack the games executable(i have tried it 200 times :( and nothing still error)

throwaway41404 commented 4 years ago

the games executable is larger than most i've seen so that could be the root of the error, if i'm not mistaken 32-Bit based apps are limited to 1/2GB of memory and when i was monitoring steamless it was using up to 1GB of memory so that could be it.

OdinVex commented 4 years ago

32-bit software is limited to 4GB. Not sure where at all you got your information... .NET, depends if compiled as AnyCPU or x64. Steamless can use more than 4GB. Just because a software uses Steam doesn't mean that Steam DRM is the only protection on it. You're running into something else. A quick look, the executable is entirely ****ed up and invalid to begin with or at least it looks that way, waf layout and all.

Recommend closing Issue.

atom0s commented 4 years ago

This is an issue with how Steamless is mapping data to structures incorrectly. Full memory was being copied instead of just the size of the structure being created by accident. This is now fixed in the repo. I don't have the ability to push a new release currently though. So you will need to self-build for now until I have time to push a full release.

I tested locally and your file unpacks fine now. Will leave this open to remind me to push a release asap with this fix though.

throwaway41404 commented 4 years ago

I am unable to build it, visual studio is throwing all sorts of errors, looks like ill need to wait till you are able to release it.

EDIT: was able to build it in visual studio 2017 fine, 2015 was a no go.

DartPower commented 3 years ago

I'm add support for x64 in my experimental x64 fork https://github.com/dpteam/Steamless-x64

atom0s commented 3 years ago

This year has been total shit; as anyone can imagine. I totally forgot to push the updated build from this report. It's now released: https://github.com/atom0s/Steamless/releases/tag/v3.0.0.10

OdinVex commented 3 years ago

I forgot to amend my post about the limits of 32-bit. RAM above 4GB can be accessed with PAE-aware Operating Systems on PAE-enabled hardware (most early 32-bit systems did not have PAE) and only if the 32-bit software is compiled with PAE-awareness.

Cheers to all in hopes of a better year. Stay safe.