Software Code Obfuscation Through Algorithmic Garbage-Code Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decompilers can generate an approximate version of the source code from binary code, potentially revealing proprietary information and enabling malicious actors to copy or manipulate software, compromising copyright protection and security.

Innovation Solution

A computer-implemented algorithm using artificial intelligence techniques optimizes the addition of modification codes to the software code before compilation, generating a larger output code that includes 'garbage' codes to obscure the original code, making it difficult for decompilers to extract useful information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If modification codes are added to the software code, then copyright protection and security are improved, but the size of the output code increases

Engineering Contradiction:
Improvecopyright protectionVSAvoidsize of output code
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies parameter changes by optimizing the size of modification codes through algorithmic control. The system adjusts parameters such as the number, length, and placement of modification codes to achieve effective copyright protection while minimizing the increase in output code size. This optimization ensures that the protection mechanism is as lightweight as possible.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements partial action by adding only the necessary modification codes required for protection rather than uniformly increasing code size throughout. The algorithm selectively places modification codes at critical positions in the source code, providing effective protection with minimal additional code quantity, avoiding excessive modification where not needed.

Inventive Principle:
Principle #16Partial or excessive action

2Difficulty of detecting and measuring

If modification codes are added to obscure the original code, then difficulty of detecting and measuring is improved, but device complexity increases

Engineering Contradiction:
Improvedifficulty of extracting useful informationVSAvoidcomplexity of modification process
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent implements self-service through the automated algorithm that independently determines the optimal placement and characteristics of modification codes. The system uses an optimization algorithm that automatically analyzes the source code structure and generates appropriate modification codes without requiring manual intervention or complex user-configured processes, thereby reducing operational complexity while maintaining high obfuscation effectiveness.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies feedback mechanisms through the optimization algorithm that iteratively adjusts modification codes based on their effectiveness in obscuring the original code. The system evaluates the decompiled output and uses this feedback to refine subsequent modification code generation, progressively improving the difficulty of information extraction while managing process complexity through automated iterative optimization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4621556A1Modifiying software code
Publication Date: 2025.09.24 CYLANCE INC
  • EP4621556A1 patent drawingFigure 1
  • EP4621556A1 patent drawingFigure 2
  • EP4621556A1 patent drawingFigure 3

AI summary

Systems, methods, and software can be used to modify a software code. In some aspects, a method includes: obtaining a software code; and processing the software code to generate an output code, wherein the output code includes the software code and one or more modification codes, wherein the one or more modification codes are determined by an algorithm that is optimized according to a function of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code.