0.0.2 • Published 2 years ago

sdrm v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Unofficial Steam DRM (SDRM)

Unofficial steam drm for node.js desktop apps

📢 Notice

This is a small protection for your app. And this does not protect your app 100%.

As you know, there are people who developing a software, that can remove steam drm layer from .exe file.

Just like how that is possible, this method cannot secure your app 100%. And there are always people who want to break your software.

So in general, i recommend developers to hire a law firm, for taking care of any problem that can be done within law.

However drm is still a good protection. And it is always better than nothing.

▶️ install

npm i sdrm

🛠 Build

node-gyp build

or

node-gyp rebuild

⚔ Requirement

Module requirement

PropRequirement
Node.jsIt has not been tested. But i believe it would work with version 12+. However a published package is built with Node.js version 16+.
OSWindows 10+. A published package is built and tested in Windows 10. Please try build a sdrm module yourself for other OS. You can try publishing a sdrm module with the name like "sdrm-mac", "sdrm-linux" so other people can find it.
.dll filesteam_api64.dll from steam sdk. It does not come withe the npm package.

Build requirement

PropRequirement
Build toolnode-gyp and anything that is needed for building NAPI

📖 Example

This example will be the case where filename is just name of dll file eg."steam_api64.dll"

For development, steam_api64.dll can be placed next to package.json.

For production, place steam_api64.dll next to .exe file.

In general:

// it will throw error if it fails.
// or it may return boolean true/false
try
{
    // SDRM(filename;file path as a string, app id number)
    SDRM("steam_api64.dll", 00000000);
    // it will throw error if it fails.
}
catch(e)
{
    console.log(e);
}

Electron.js:

app.on('ready',()=>{
    try
    {
        // SDRM(filename;file path as a string, app id number)
        SDRM("steam_api64.dll", 00000000);
        // it will throw error if it fails.
        createWindow();
    }
    catch(e)
    {
        console.log(e);
        if (process.platform !== 'darwin') app.quit();
        // or just app.quit() without if statement.
    }
});

👨‍💻 Author

Victor Chanil Park

💯 License

MIT, See LICENSE.

0.0.3

7 months ago

0.0.2

2 years ago

0.0.1

2 years ago