Skip to content

Instantly share code, notes, and snippets.

@Stoom
Last active March 19, 2025 21:00
Show Gist options
  • Save Stoom/81c0521305a7d95e0ba1c530f6fd647c to your computer and use it in GitHub Desktop.
Save Stoom/81c0521305a7d95e0ba1c530f6fd647c to your computer and use it in GitHub Desktop.
ProScan v17.0 Activation Patch

ProScan v17.0 Activation Patch

Just playing around since my key hit the activation limit. To reset this you must contact the original developer and hopefully they reset the activation count. This will accept any name and key and permanently activate ProScan. This must be applied to v17.0 first, then any version should work.

Download ProScan v17.0

Applying the patch

This requires xdelta3 to apply the patch. Copy the xpatch file to your proscan directory, open and administrative powershell, and run the following commands.

mv .\ProScan.exe .\ProScan.orig.exe
xdelta3 -d -s .\ProScan.orig.exe .\ProScan.v17.xpatch .\ProScan.exe

Behind the scenes

To accomplish this I used dnSpy to debug the app until I got to the enter key page. Once on this page I clicked the pause button and looked at the call stack to see where the last instance of ProScan.exe was. This lead me to the activation dialog code. Looking at what happens when clicking the OK button you can see that it calls an API, then based on a numerical code it displays different messages. I removed the call to the activation server and then forced the logic to the Activation Successful conditional branch. It saves some stuff in a very obscure registry location, located in HKCU/Software/Microsoft/Environment. After this the program is considered activated, and never checks with the server again. On restarting the program, it reads from the registry and is still considered Registered & Activated.

@Imwhattherel
Copy link

update this

@xxbubziexx
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment