Disclaimer: By the time this proof of concept (PoC) is released, Unity has stopped offering trial license. This is because they have released the complete engine for free including all features since Unity 5.
The program is originally created to reset the trial license for Unity Pro 4.x so that a new one can be obtained from the official Unity license server every time the 30-day trial expires.
How does it works?
When Unity runs for the first time, it extracts the Windows product ID and uses that as a unique identity for your PC. It sends the product ID to the official license server so that the server can generate a signed license key file containing the trial expiration date and the Windows product ID. Later, Unity will check the license key file to make sure the trial is still valid every time it runs.
After the trial has expired, Unity Pro will cease to work, and the license server will not issue another trial license since it keeps a record of your Windows product ID. Therefore, a way to renew the trial license is by faking your Windows product ID. The Windows product ID is read from the
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId registry key, but we will not want to change that value in the registry because it may affect how other program works.
In this PoC, the launcher perform a DLL injection to intercept the result of registry query API calls. It utilizes the Microsoft Detours 3.0 library to reroute the RegQueryValueEx API function, specifically.
Download the PoC here.
comments powered by Disqus