Runtime Dynamic Return Value for Software Piracy Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of implementationVSAvoidsecurity against piracy
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
ImprovepredictabilityVSAvoidvulnerability to piracy
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11822627B2Define return value at runtime
Publication Date: 2023.11.21 DISNEY ENTERPRISES INC
  • US11822627B2 patent drawing
  • US11822627B2 patent drawing

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.