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

Repackage Game (add back DRM) #71

Closed ytyyt1 closed 2 years ago

ytyyt1 commented 2 years ago

Is it possible to re-add SteamStub DRM for the modified files? I am making a mod, so I want to share the modified exe, it would be nice if it can keep the DRM.

atom0s commented 2 years ago

This is possible but not with Steamless. And it is also not something that will probably ever be part of this project. The scope of Steamless is solely to remove the DRM, and not to readd it or reimplement the ability to readd it in any manner. If someone else is interested in doing something like that, they are more than welcome to do so, but it is not something I plan on recreating.

You can download the Steamworks SDK's from Valve directly and use the drmtool that ships with those to do some of the protections, however, Valve did seem to go back and remove important files from the SDKs and the latest DRM tool is now remotely used on their servers. I am not sure if they accept third-party requests to wrap games you aren't the developer for with the new remote setup. But the older tools did allow it.

For your situation, I'd recommend the following if you are trying to avoid piracy concerns or similar. Instead of releasing a patched binary file, release a loader or patcher for the file that will apply the modifications at runtime/on load. Or, have the users of your mod download and use Steamless themselves and release a patcher that will apply your modifications to their personal unpacked file thus requiring them to have the game in the first place. This removes any liability from you in regards to potentially sharing files that may get the developers upset with you.

ytyyt1 commented 2 years ago

This is possible but not with Steamless. And it is also not something that will probably ever be part of this project. The scope of Steamless is solely to remove the DRM, and not to readd it or reimplement the ability to readd it in any manner. If someone else is interested in doing something like that, they are more than welcome to do so, but it is not something I plan on recreating.

You can download the Steamworks SDK's from Valve directly and use the drmtool that ships with those to do some of the protections, however, Valve did seem to go back and remove important files from the SDKs and the latest DRM tool is now remotely used on their servers. I am not sure if they accept third-party requests to wrap games you aren't the developer for with the new remote setup. But the older tools did allow it.

For your situation, I'd recommend the following if you are trying to avoid piracy concerns or similar. Instead of releasing a patched binary file, release a loader or patcher for the file that will apply the modifications at runtime/on load. Or, have the users of your mod download and use Steamless themselves and release a patcher that will apply your modifications to their personal unpacked file thus requiring them to have the game in the first place. This removes any liability from you in regards to potentially sharing files that may get the developers upset with you.

Thank you very much for your reply! I found the Valve Portable DRM Tool (drmtoolp.exe) along with steamdrmp.dll and drmunpackp.dll in the old Steamworks SDK and now the problem is solved. In addition, the remote wrapper does not allow third-party requests, thank you very much for your help.