Tool DRM Removal Tool

5.00 star(s) 1 Vote

strife2cloud

Newbie
Aug 27, 2017
23
17
Another Thank you here. I did purchase my game from DMM but I found out I couldn't use "Sizer" to make the RPGMaker VX Ace Window bigger because of the DRM. Removed it and now it works.
 

srakade

New Member
Jan 31, 2018
1
0
heya :) tried downloading the link by clicking on it, dident work :/ it only led me to a connection error. so wondering, is the link broken? or do you have another link i could try?

edit: got it downloading, but only ends in server problem and stopps. so yeah, could a new link to it possibly work?
 
Last edited:

xj47

Member
Nov 4, 2017
235
383
heya :) tried downloading the link by clicking on it, dident work :/ it only led me to a connection error. so wondering, is the link broken? or do you have another link i could try?

edit: got it downloading, but only ends in server problem and stopps. so yeah, could a new link to it possibly work?
The file is hosted on F95zone itself so there shouldn't be any long-term download problems (it also works for me). Maybe just try again later? If it still doesn't work I'll see if I can upload the file elsewhere.
 

xj47

Member
Nov 4, 2017
235
383
Was this their DMM Gameplayer or their Serial Number type of DRM?
I don't know what the DRM is called. The game we looked at was this one
I can send you the files if you want to look for yourself.
 

dbomb

Member
Jul 22, 2017
265
345
Just a question, if you were to use this tool to remove the DRM would the files have any identifying markers showing you previously owned the game?
 

xj47

Member
Nov 4, 2017
235
383
Just a question, if you were to use this tool to remove the DRM would the files have any identifying markers showing you previously owned the game?
I checked the files for a few games and the files were identical regardless of who downloaded them from the store. So probably not.
I can't guarantee that they won't add something like that in the future though.
 
  • Like
Reactions: dbomb

dbomb

Member
Jul 22, 2017
265
345
I checked the files for a few games and the files were identical regardless of who downloaded them from the store. So probably not.
I can't guarantee that they won't add something like that in the future though.
Okay because your tool works on echidna wars DX version 1.10 so people can now access the gallery of the game that was locked by a stupid broken DRM system.
 

oslja

New Member
Mar 23, 2018
2
1
This drm remover asks for my dlsite login ID and password. This wasn't mentioned in the op post or in the comments. Is it even safe to leave my login and password in some not well known tool? I own quite a lot of games on dlsite and i wouldn't want to lose my account because of my own stupidity, by giving it away to some third party. No disrespect to op, but i have to be sure it is safe.
 
  • Angry
Reactions: MeInDisguise

xj47

Member
Nov 4, 2017
235
383
This drm remover asks for my dlsite login ID and password. This wasn't mentioned in the op post or in the comments. Is it even safe to leave my login and password in some not well known tool? I own quite a lot of games on dlsite and i wouldn't want to lose my account because of my own stupidity, by giving it away to some third party. No disrespect to op, but i have to be sure it is safe.
The tool shouldn't ask for your login details.
Are you sure that prompt is not from the DRM system?
 

oslja

New Member
Mar 23, 2018
2
1
Hm, you are right, this was the case. This was the first dlsite game that asked for my login and password. Sorry for doubting.
 

conman2323

New Member
May 20, 2020
1
0
I keep getting this error whenever I try to use the tool:

There was an error while injecting into target:
System.ApplicationException: STATUS_INTERNAL_ERROR: Unknown error in injected C++ completion routine. (Code: 15)

Update: I was able to get it working. For some reason taking the target folder out of the folder it was in did it. Problem now is that it I'm still not able to hook anything
 
Last edited:

xj47

Member
Nov 4, 2017
235
383
Update: I was able to get it working. For some reason taking the target folder out of the folder it was in did it. Problem now is that it I'm still not able to hook anything
If you say you were able to get it working, are you still having problems with the extractor or are you now having problems with a text hooking program?
 

ValorKG

Member
Jan 14, 2018
133
377
I keep getting this error whenever I try to use the tool:

There was an error while injecting into target:
System.ApplicationException: STATUS_INTERNAL_ERROR: Unknown error in injected C++ completion routine. (Code: 15)

Update: I was able to get it working. For some reason taking the target folder out of the folder it was in did it. Problem now is that it I'm still not able to hook anything
If you say you were able to get it working, are you still having problems with the extractor or are you now having problems with a text hooking program?
I am running into the same issue. Granted, it's a PlayDRM dame and a Unity game besides. I'm not sure if this tool can be used on it anyway, but assuming that it can, could you help me out a bit? The game starts correctly, but the injection part doesn't seem to be working correctly. Attached is what I'm seeing on the tool. Notably extraction "starts" on startup.exe, but obviously, that doesn't accomplish anything.
 

xj47

Member
Nov 4, 2017
235
383
I am running into the same issue...
When authenticating the game, did you have to enter your username and password or did you have to enter a serial number?
The tool currently only works with the former variant.
(Both types are just called "PlayDRM" on DLsite but I think the serial-variant is a new version they came out with)
 

ValorKG

Member
Jan 14, 2018
133
377
When authenticating the game, did you have to enter your username and password or did you have to enter a serial number?
The tool currently only works with the former variant.
(Both types are just called "PlayDRM" on DLsite but I think the serial-variant is a new version they came out with)
It was the latter. Bummer. Means I can play this game, but the rest of the guys on here can't just yet.

I do think it'll probably be worth the money. And I like the devs, so I don't mind giving them cash. But it looks like that game isn't gonna be shared easily. Shame for everyone looking forward to it in the Game Request thread. Only thing we can hope for now, is that someone far smarter than me finds a way to crack it.

Still, before today, I didn't think the game in question was gonna get an English translation AT ALL. So being able to play it in the first place is still a miracle, eh?
 

beingalive

Newbie
Oct 30, 2019
15
45
When authenticating the game, did you have to enter your username and password or did you have to enter a serial number?
The tool currently only works with the former variant.
(Both types are just called "PlayDRM" on DLsite but I think the serial-variant is a new version they came out with)
Having a similar issue to others with a "serial-variant", which you clearly don't support yet. Details in this post though on the off-chance it helps:
https://f95zone.to/threads/dog-hero...english-version-dieselmine.81396/post-5696089

This has been a fun educational experience. It'd be interesting to see your code for your tool; I recognize the exe icon as a packed Python project. PyInstaller?
 
Last edited:

xj47

Member
Nov 4, 2017
235
383
It'd be interesting to see your code for your tool; I recognize the exe icon as a packed Python project. PyInstaller?
Part of it is python but the important bits happen inside a compiled binary.
I can send you the code if you like. The main reason I didn't include it is because it's very hacked together. Back when I made the tool I didn't understand hooks very well and just made edits to a tutorial project > _ >

The way this variant of the DRM system works is that all the game files are encrypted on disk and decrypted on the fly when the game needs to use them. Since this protection needs to be applicable to any executable, the way this is handled is that when the exe is first run a DLL is injected that overwrites the low-level file read/write API calls and adds the encrypt/decrypt steps. This way when the game wants to read part of a file, it gets the unencrypted data without even "knowing" that a decryption step happened.
A weakness with this system is that any code run within the game process will "see" the unencrypted files. The decryption tool works by injecting its own process once the game has started that simply reads all files and copies the unencrypted data back to the disk. Once all the files have been decrypted the DRM stuff can be deleted and the game's exe will run on it's own.

The python script portion just handles the high-level tasks of this process, namely: Generate a list of files to be processed, Launch the game, Wait a few seconds, Inject the extractor process, and give a success or error message.
 

beingalive

Newbie
Oct 30, 2019
15
45
Part of it is python but the important bits happen inside a compiled binary.
I can send you the code if you like. The main reason I didn't include it is because it's very hacked together. Back when I made the tool I didn't understand hooks very well and just made edits to a tutorial project > _ >

The way this variant of the DRM system works is that all the game files are encrypted on disk and decrypted on the fly when the game needs to use them. Since this protection needs to be applicable to any executable, the way this is handled is that when the exe is first run a DLL is injected that overwrites the low-level file read/write API calls and adds the encrypt/decrypt steps. This way when the game wants to read part of a file, it gets the unencrypted data without even "knowing" that a decryption step happened.
A weakness with this system is that any code run within the game process will "see" the unencrypted files. The decryption tool works by injecting its own process once the game has started that simply reads all files and copies the unencrypted data back to the disk. Once all the files have been decrypted the DRM stuff can be deleted and the game's exe will run on it's own.

The python script portion just handles the high-level tasks of this process, namely: Generate a list of files to be processed, Launch the game, Wait a few seconds, Inject the extractor process, and give a success or error message.
Interesting, I actually had that as an idea in my other thread after figuring out "3 paths" to go down to crack the PlayDRM protection. Your explanation makes it clear one of my paths (outright bypassing the protection) may be impossible since you need a valid decryption key to provide that wrapper DLL. If they've done it right, at least one person will need a valid unlock for the game to even begin cracking it.

I wasn't sure the unpack / dump method was feasible but that looks like exactly what you've done. I wonder why it doesn't work for the serial-variant ; I'm assuming the user/pass variant your tool is designed to work against a similar protection, assuming under the hood it's Enigma Protector.

I'm very new to this but you could PM me the code if you like, and in the very unlikely event I find time and the talent within myself maybe I could port it to handle the serial-variant. I'm very new to this whole cracking / reverse engineering thing though; very low level for my experience. Odds are you'd be way more cut out for it :)
 
5.00 star(s) 1 Vote