Binding Shell Module to Application via Resource Access Check
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If the shell module is bound to the application, then unauthorized use prevention is improved, but the complexity of the software structure increases
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
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
Data Source
Figure 1
Figure 2
Figure 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.