Closed joeyvanlierop closed 7 years ago
Just a quick update: It actually worked on 1 game. Unfortunately, for the other ~30 games it did not work. :P
Steamless only supports 32bit games at this time. I have not had the time to work on added 64bit versions of the existing plugins. However with the source back on Github I hope to see some more interest in the project and other possibly contributing back to include more support for things. If I do have the time in the future, I will work on adding support for 64bit versions of the included plugins though.
After a bit more testing, it seems that it doesn't work on a lot of 32 bit games. I could send one for you if you would like to test it out yourself.
Sure, just the main exe should be needed to do any testing.
Added on Steam so that I can PM you the link
Going to mark this as closed since the few games you have shown me so far are not packed with SteamStub so no real issue has been found currently.
@atom0s Day of the Tentacle Remastered can't be unpacked. v3.0.0.4. Protectionid detects Steam API. exe: https://dropfile.to/UvxAAsd
I'm not sure if Steam API is DRM (according to Protectionid developer it is), some Steam API games launch when steam_api.dll
is deleted. Day of the Tentacle Remastered does not.
@atom0s Day of the Tentacle Remastered can't be unpacked. v3.0.0.4. Protectionid detects Steam API. exe: https://dropfile.to/UvxAAsd
This game is not packed with SteamStub.
I'm not sure if Steam API is DRM (according to Protectionid developer it is), some Steam API games launch when steam_api.dll is deleted. Day of the Tentacle Remastered does not.
The SteamAPI dll is something that Steamless will not remove as stated in the read mes. This is not part of SteamStub and instead is steamworks API that allows games to interact with Steams servers for things such as achievements, cloud saving/syncing, etc. This can also require Steam to be running if the game uses it. Again, Steamless does not remove this layer because of two things:
@atom0s I have misunderstood the purpose of this tool. For what practical intention is Steamless supposed to be used? I understood that the goal was to allow users to make personal backups of Steam games.
As the projects readme states:
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. However, due to personal limited funds, I cannot test every game myself.
The purpose of the project is to remove the SteamStub DRM layer, which is what it does. This project is not to let you pirate games. If a game uses extra things such as the SteamAPI, that is not something this project will remove.
I do not support or assist in piracy. If you want to steal games that is up to you to figure out.
@atom0s Why are you accusing me of piracy? I don't use DRM'd software, but games are somewhat necessity (many aren't available outside of Steam) and I only want that they last for a lifetime.
This project is not to let you pirate games.
I do not support or assist in piracy. If you want to steal games that is up to you to figure out.
How could I obtain protected Steam games in the first place?
That wasn't meant to be as rude as it sounded. It also wasn't meant to be a direct thing to you, but more of a general thing. So, sorry for that coming across pretty blunt.
Once the SteamStub layer is removed, the purpose of this project is complete. There are other things that games can use to 'require' Steam or enforce DRM in another manner, such as the SteamAPI. This project does not remove that layer. There are projects available that emulate this layer by creating a fake steam_api.dll file that fakes the returns and such for the interfaces etc.
This is not included in Steamless because it is not the purpose of this project to remove that layer of DRM.
Again sorry if that came off as mean, wasn't meant to.
I'm kinda confused, what does the Steam DRM layer even do? What happens if you remove it?
Steam has two methods of DRM.
One is their own home-brewed packer which is part of their Steamworks package. You can read the specifics of it here: https://partner.steamgames.com/doc/features/drm
This is essentially similar to a traditional exe packer with some extras added to it. Think of it like UPX, but on steroids. They encrypt the main code section of the file (generally the .text section), inject a new section called .bind which contains an encoded header, encrypted anti-debugger steam check dll that is mapped into memory, and also the stub used to decrypt the .text section and run the game. (The .bind section overtakes the files original entry point and points instead to the DRMs entry.)
My project removes this part of the DRM.
The second form of DRM they have is the Steam API. (steam_api.dll) This is used to integrate a game with Steams features such as online cloud saves, match making, etc. This can enforce the gam to run under Steam as well.
My project does not remove this from games if they use it.
To bypass/get around this form of DRM you need to either unwrap/remove all calls to this library from the game or use a proxy/fake steam_api.dll to make the game think that it is running under Steam. I do not help with this though as the point of this project is not to assist with piracy.
Cool, this should be in the readme or a wiki or something. It makes more sense to me when you describe the DRM as a packer, and your software as an unpacker
Darwin Project.exe cant unpack
Hello! So I have been trying to unpack a few different steam games, but everytime I click "Unpack", it logs the following:
[ExamplePlugin] ExamplePlugin was asked to check if it can process a file!
[Steamless] Failed to unpack file.
I have no idea why this is happening, but it happens one every game I try to unpack. The plugin setting is set on automatic by the way, but nothing changes even if I try the other plugins. Thanks!