Program Licensing via OS Header Segmentation and Remote Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software licensing methods are inflexible and prone to piracy, as they often require multiple licenses for each computer and rely on serial numbers, which can be easily copied or altered, leading to security issues and unnecessary purchases.
Innovation Solution
A method that involves an OS receiving a program-start command, storing headers for license verification, and using a license verification component to cooperate with a remote server to perform license verification before loading the program into RAM, allowing flexible licensing and reducing piracy by ensuring only authorized execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If license verification is performed after loading the entire application program into memory, then the verification process is simple, but the program can be easily copied and altered to avoid verification
Solution Approach 1:
The application program is divided into a header portion and a body portion. The header is loaded into memory for verification, while the body remains on the storage device. This segmentation allows verification to occur on a small, controlled portion of the program, preventing complete program copying and alteration while maintaining verification simplicity.
Solution Approach 2:
The license verification is performed on the program header before the main program body is loaded into memory. This preliminary verification ensures that only authorized programs are loaded, preventing piracy while maintaining system security without requiring complete program loading.
2Reliability
If a specific program is written for license verification for each application, then the verification can be customized, but the system complexity increases
Solution Approach 1:
The operating system is designed with universal license verification capabilities that work with any application program through a standardized header format. Instead of creating specific verification programs for each application, the OS provides a general-purpose verification mechanism that handles all applications uniformly, reducing system complexity while maintaining verification reliability.
3Ease of operation
If traditional serial number verification is used, then users can activate software, but piracy issues commonly occur due to easy copying and cracking
Solution Approach 1:
The license verification functionality is extracted from the application program itself and placed in the operating system. The program header contains verification information that the OS uses to authenticate the program, separating the verification logic from the application and making it harder to circumvent through cracking or copying.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A device for licensing a program including a header includes a storage device, a file system and a license verification component. The storage device is in a local terminal having a random access memory (RAM). The file system is configured in the storage device. The operating system (OS) receives a starting-program command to activate the program and stores the header into the storage device. The license verification component prevents the OS from loading the program in the RAM, and works with at least one of the OS and a remote server to perform a license verification, wherein after there is a license verification pass, the license verification component allows the program to be loaded in the RAM.