Binding Shell Module to Application via Resource Access Check

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing digital rights management systems fail to effectively prevent unauthorized use of software by allowing hackers to detach or disable the shell module, which performs security checks, leading to potential misuse and revenue loss for software developers.

Innovation Solution

A system and method where the shell module is bound to the application by creating a resource that the application must access upon execution, ensuring the shell module's security checks are performed before allowing the application to run, and if the shell module is removed or disconnected, the application terminates, preventing unauthorized use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a shell module is appended to perform security checks, then software protection capability is improved, but the shell module can be detached or disabled by hackers leading to unauthorized use

Engineering Contradiction:
Improvesoftware protection capabilityVSAvoidshell module detachability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges the shell module and application code into a single bound executable file. The shell code is inserted into unused portions of the application's code segment, creating an integrated binary where the shell cannot be easily separated from the application it protects

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shell module performs security checks before the application code executes. The binding mechanism is established during compilation, ensuring the shell is positioned and configured to validate execution conditions before the protected code runs

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the shell module is bound to the application, then unauthorized use prevention is improved, but the complexity of the software structure increases

Engineering Contradiction:
Improveunauthorized use preventionVSAvoidsoftware structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The binding process combines the shell and application into one unified executable structure, eliminating the need for separate shell and application files while maintaining security functionality

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The bound executable serves multiple functions: it contains both the protected application code and the shell security code, performs both application logic and security validation, and can be distributed as a single file rather than multiple components

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP1977551B1Binding a protected application program to shell code
Publication Date: 2014.01.01 THALES DIS CPL USA INC
  • EP1977551B1 patent drawingFigure 1
  • EP1977551B1 patent drawingFigure 2
  • EP1977551B1 patent drawingFigure 3

AI summary

A system and method for binding a protected application to a shell module. The shell module is appended to the application. The shell module executes prior to the execution of the application, and first creates a resource. After the shell module finishes execution, the application tries to access the created resource. If the access is successful, the application is allowed to proceed. Otherwise, the application terminates. The inability of the application to access the resource is an indication that the shell module never actually created the resource. This suggests that the shell module never executed; the shell module may have been either removed or functionally disconnected from the application. This further implies that the security functionality of the shell module has not executed. The application is therefore not permitted to execute, since the shell's security checks have probably not been performed.