this technically isn't a "crack" but it's within spitting distance of being one and it is still trying to circumvent DRM so this felt like the best place to ask. I'm using a downloader which has a free and paid tier, with the free tier limiting the amount of times you can use it per day. Since in linux you run everything in a prefix instead of natively, I figured it would be childsplay to figure out where it is storing the count and wipe it, thereby functionally giving me unlimited downloads.
This worked well enough, and I've pinned down a few places I know it's storing the count, but I'm at the point now where I'm bordering on thinking it's just dark magic.
Basically, I can get the count to reset if I delete config.ini from the software's working directory and paste in a reference prefix. But, if I then use the software, close it, and delete config.ini again, when I reopen the software it still knows that it's been used and recreates config.ini. This means that it is using something in the prefix itself to store usage information. (which is entirely expected of course, otherwise someone on windows could just re-extract the software and keep using it indefinitely with ease) However... if I then run a "diff -r -q" on the used-prefix (i.e. : the prefix where the software is storing that it has been used) and the reference prefix (i.e. : the prefix where the software doesn't think it's been used) these are the results
Files ./DOWNLOADER-PREFIX/drive_c/users/USERNAME/Temp/C41224A1DBA496C1FCF3946547B13945/540617BF672B559CF8DACEDD9AF401C5 and ./DOWNLOADER-REF-PREFIX/drive_c/users/USERNAME/Temp/C41224A1DBA496C1FCF3946547B13945/540617BF672B559CF8DACEDD9AF401C5 differ
diff: ./DOWNLOADER-PREFIX/drive_c/windows/system32/_nvngx.dll: No such file or directory
diff: ./DOWNLOADER-REF-PREFIX/drive_c/windows/system32/_nvngx.dll: No such file or directory
diff: ./DOWNLOADER-PREFIX/drive_c/windows/system32/nvngx.dll: No such file or directory
diff: ./DOWNLOADER-REF-PREFIX/drive_c/windows/system32/nvngx.dll: No such file or directory
With the "No such file or directory" errors being symlinks to linux equivilants of windows binaries. This indicates that the place where the software is storing it's usage information must be /USERNAME/Temp/C41... however I can delete that along with config.ini and it will still somehow know it's been used and set itself to the correct number of remaining uses.
Again though, I can get it to reset back to the default value if I paste in the reference prefix and delete the config.ini file. So, somehow, it's storing data within the prefix that doesn't show up anywhere on a diff scan; it's storing data without storing data.
I genuinely have no idea what is going on here and frankly I didn't even think something like this was possible. I'm half inclined to blame it on some networking check or some such but, well, then how can I spoof it by pasting in the reference prefix? I can't think of any explanation for how it's spoofable by deleting the prefix and replacing it with a reference one, but if I then use the software and compare the new prefix with the reference one it was copied from, then reset the differences, the result is still somehow a tainted prefix. (despite, according to diff, them being the same)
how do I manually install vkd3d through lutris? Also what log would I need to look at? I've tried running lutris from the terminal and reading that but didn't learn much.