Executable File Protection via Real-Time Decryption and Debug Blocking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing binary code obfuscation techniques for executable files and shared libraries face challenges such as increased execution time and performance overhead, higher development and maintenance costs, reversibility, difficulty in processing pointers and data, and incomplete protection against reverse engineering and debugging.

Innovation Solution

A protection method that determines whether a process is being debugged or formed by an encrypted executable file, and prohibits execution or memory mapping of encrypted files to prevent decryption and leakage during debugging, using a security context and labels to enforce anti-reverse engineering and anti-debugging measures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code reorganization and instruction replacement are used for binary obfuscation, then reverse engineering difficulty is increased, but execution time and performance overhead increase

Engineering Contradiction:
Improveprotection effectivenessVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by detecting debugging attempts before the actual reverse engineering can occur. The system sets up detection mechanisms that monitor for debugger attachment, memory mapping operations, and other suspicious activities before the attacker can extract meaningful information from the obfuscated code, thereby preventing the need to reverse the obfuscation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If code reorganization and instruction replacement are used for binary obfuscation, then reverse engineering difficulty is increased, but development and maintenance cost increase

Engineering Contradiction:
Improveprotection effectivenessVSAvoiddevelopment cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent implements self-service by providing automated protection mechanisms that do not require manual intervention during development or maintenance. The system automatically detects debugging attempts, monitors memory operations, and enforces protection policies without requiring developers to manually configure or maintain complex obfuscation rules, thereby reducing development and maintenance costs.

Inventive Principle:
Principle #25Self-service

3Reliability

If code reorganization and instruction replacement are used for binary obfuscation, then reverse engineering difficulty is increased, but the protection is reversible

Engineering Contradiction:
Improveprotection effectivenessVSAvoidprotection irreversibility
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary anti-action by detecting and blocking debugging attempts before the reverse engineering process can begin. The system monitors for debugger attachment, memory mapping operations, and other activities that precede code reversal, and takes preventive action by terminating the process or alerting the user, thereby making the protection effectively irreversible.

Inventive Principle:
Principle #9Preliminary anti-action

4Reliability

If instruction replacement is used for binary obfuscation, then execution logic is more obscure, but processing of pointers and data becomes difficult

Engineering Contradiction:
Improveprotection effectivenessVSAvoiddata processing ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements an intermediary mechanism by introducing a protection layer that mediates between the obfuscated code and the debugging tools. This intermediary monitors memory operations, tracks pointer usage, and controls data access without requiring direct modification of the obfuscated code structure, thereby maintaining both protection effectiveness and data processing ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250165587A1Protection method and protection system for executable files and shared libraries
Publication Date: 2025.05.22 QNAP SYST INC
  • US20250165587A1 patent drawing
  • US20250165587A1 patent drawing
  • US20250165587A1 patent drawing

AI summary

A protection method for executable files and shared libraries and a corresponding protection system are provided, which encrypt a part of contents of an executable file or a shared library, decrypt the part of contents in real time when the executable file or the shared library is executed, and prohibit the execution of the encrypted contents of the executable file or the shared library by a debugged process, so as to prevent attackers from obtaining the part of contents of the executable file or the shared library.