Abstract
With the proliferation of software, protecting intellectual property from reverse engineering has become a paramount concern. Malicious actors who successfully decipher program logic can replicate applications, inject malicious code, and compromise user security. Code obfuscation serves as a critical defense mechanism by transforming a program’s structure to impede analysis while preserving its original functionality. This process inherently involves a trade-off between maximizing the confusion introduced (potency) and minimizing performance degradation (cost), which defines a multi-objective optimization problem. In this study, we propose MOCCO (Multi-Objective Class-based Code Obfuscation), a novel framework that leverages Multi-Objective Evolutionary Algorithms (MOEAs) to automate and optimize the source code obfuscation process. Our primary contribution is the introduction and integration of class-based obfuscation techniques, which manipulate object-oriented constructs—an aspect often neglected by existing tools. We model obfuscation as a search for optimal solutions on a Pareto front, balancing metrics such as cyclomatic complexity, nesting level, code similarity, and execution time. We implement and compare three distinct MOEAs within our framework, including a global-update adaptation of MOEA/D. Our experimental evaluation, conducted on a set of benchmark programs, demonstrates that our approach, particularly when incorporating class-based techniques, generates code that scores substantially higher on structural-complexity (potency) proxies, with comparable or, in most cases, substantially lower performance overhead, relative to code produced by existing open-source obfuscators under comparable conditions.
Funding Information
  • National Science and Technology Council
  • National Science and Technology Council, Taiwan (114-2221-E-002-217)
  • National Taiwan University (NTU-G0647)
  • Hon Hai Research Institute (114UA90042)
  • National Yang Ming Chiao Tung University (113UC2N006)

This publication has 27 references indexed in Scilit: