GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • O-MVLL
  • Source Code
  • Download
  • Getting started

This view

  • Original page
  • New address

GeezerVison is showing obfuscator.re — O-MVLL Documentation | Open Obfuscator

O-MVLL
Menu
Source Code Download

Introduction

Getting started Compilation API

Obfuscation Passes

Anti-Hooking Arithmetic Obfuscation Basic Block Duplicate Control-Flow Breaking Control-Flow Flattening Function Outline Indirect Branch Indirect Call Objective-C Cleaner Opaque Constants Opaque Fields Access Strings Encoding

Other Topics

Troubleshooting LLVM JIT Obfuscation Annotations
 Home

Introduction

Welcome to the O-MVLL documentation. This documentation is split into three sections:

  1. This first section, Introduction, is about how to use and how to get started with O-MVLL.

  2. The second section, obfuscation passes, describes the different obfuscation passes available in O-MVLL.

  3. The last section, other topics, contains different information for those who are already familiar with the project.

O-MVLL is an LLVM-based obfuscator that leverages the new LLVM pass manager. It integrates via -fpass-plugin in Clang or -load-pass-plugin option in the Swift compiler (starting with Xcode 26) to perform native code obfuscation. The obfuscation rules are driven by a Python API defined as follows:

O-MVLL currently supports AArch64 and AArch32 architectures.
import omvll

class MyConfig(omvll.ObfuscationConfig):
    def __init__(self):
        super().__init__()

    def flatten_cfg(self, mod: omvll.Module, func: omvll.Function):
        if func.name == "check_password":
            return True
        return False
    def obfuscate_string(self, _, __, string: bytes):
        if string.startswith(b"/home") and string.endswith(b".cpp"):
          return "REDACTED"

Throughout this documentation, we use Clang to refer to the host compiler, which can be either Clang or the Swift compiler.

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.