Runtime Dynamic Return Value for Software Piracy Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Boolean functions used to restrict access to application features can be vulnerable to piracy mechanisms that alter their output to always return true, allowing unauthorized access to application features.
Innovation Solution
Implementing a mechanism where the return value for access to application features is selected and defined at runtime, using a randomly generated value that cannot be predicted, thereby preventing the function from being overwritten by piracy-enabling software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a conventional Boolean function is used to restrict access to application features, then the access control mechanism is simple and easy to implement, but the system becomes vulnerable to piracy mechanisms that can alter the function output to always return true
Solution Approach 1:
The patent transforms the static return value of the Boolean function into a dynamic value that changes at runtime. Instead of always returning a known value (true or false), the function now returns a value that is determined dynamically during execution, making it unpredictable to piracy mechanisms that rely on overwriting static function outputs.
Solution Approach 2:
The patent changes the parameter being returned by the Boolean function from a fixed known value to a dynamically determined value. This parameter change occurs at runtime, where the return value is selected based on conditions that are not fully predictable at compile time, thereby preventing piracy mechanisms from reliably altering the output.
2Ease of operation
If the return value is defined at compile time, then the function behavior is predictable and easy to verify, but piracy mechanisms can predict and overwrite the known return value to gain unauthorized access
Solution Approach 1:
The patent introduces dynamics into the return value determination process. The value returned by the Boolean function is no longer fixed at compile time but is determined at runtime based on dynamic conditions, making it impossible for piracy mechanisms to predict the actual return value in advance.
Solution Approach 2:
The patent prepares multiple possible return values in advance (at compile time) but defines which value is actually returned until runtime. This preliminary preparation of multiple candidates, combined with runtime selection, allows the system to maintain ease of verification while preventing piracy through unpredictability.
Data Source
AI summary
The exemplary embodiments are related to a device, a system, and a method for implementing a mechanism that is configured to prevent the unauthorized execution of software. A user device is configured to execute a feature access function corresponding to an application feature included in an application. The feature access function is configured to receive one of a plurality of values each time the application is launched. During operation, the feature access function receives a value and determines whether a condition is satisfied. When the condition is satisfied, the value is returned which indicates that execution of the application feature is permitted.

