Proxy Code Execution Anti-Debugging Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software distributors face challenges in controlling the use and distribution of computer applications after they are distributed, as users can easily copy and re-distribute them without permission, and existing security measures like product activation are not foolproof against reverse engineering and unauthorized use.
Innovation Solution
A system where a second process on a computer, acting as a rights client with a license evaluator, proxy-executes code on behalf of the first process, ensuring operation only within the terms and conditions set by the digital license, and employs anti-debugging techniques to prevent reverse engineering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If product activation is used to control application distribution, then license enforcement is improved, but the system becomes vulnerable to reverse engineering and copying
Solution Approach 1:
The patent segments the application code into multiple parts, with critical portions stored in a protected memory region separate from the main executable. This segmentation prevents attackers from copying the entire application while maintaining license enforcement through the distributed code architecture.
Solution Approach 2:
The patent introduces a protected memory region as an intermediary between the main application code and the execution process. This intermediary layer enforces license terms by controlling access to critical code sections, making the system more resistant to reverse engineering while maintaining functional operation.
2Object-affected harmful factors
If code is stored in protected memory regions, then anti-copying protection is improved, but memory management complexity increases
Solution Approach 1:
The patent implements self-service memory management where the protected memory region automatically handles its own protection mechanisms. The system uses hardware-assisted memory protection that autonomously enforces access controls without requiring complex software-based memory management routines.
Solution Approach 2:
The patent changes the memory protection parameters by utilizing hardware-level memory protection features rather than software-based protection. This parameter change at the hardware level simplifies memory management complexity while providing robust anti-copying protection through built-in memory management capabilities.
Data Source
AI summary
A first process operating on a computer comprises code to be executed in connection therewith, where the code includes at least one triggering device. A digital license corresponds to the first process and sets forth terms and conditions for operating the first process. A second process operating on the computer proxy-executes code corresponding to each triggering device of the first process on behalf of such first process. The second process includes a selection of options to thwart reverse engineering by a debugger if a debugger is detected. The options include execution by a proxy engine of a re-routed call, crashing the first process, detection ad elimination of a debugger related interrupt a call to an arbitrary function.


