Erlang Binary and Source Code Obfuscation

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Morse, Gregory, Kozsik, Tamás
Format: Preprint
Published: 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908966045351936
author Morse, Gregory
Kozsik, Tamás
author_facet Morse, Gregory
Kozsik, Tamás
contents This paper studies obfuscation techniques for Erlang programs at the source, abstract syntax tree, BEAM assembly, and BEAM bytecode levels. We focus on transformations that complicate reverse engineering, decompilation, and recompilation while remaining grounded in the actual behavior of the Erlang compiler, validator, loader, and virtual machine. The paper categorizes opcode-level dependency tricks, receive-based loop encodings, irregular control-flow constructions, mutability-oriented performance obfuscation, and self-modifying code enabled by dynamic module loading. A recurring theme is that effective obfuscation in BEAM often arises not from arbitrary corruption, but from exploiting representational gaps between high-level Erlang semantics and the lower-level execution model accepted by the toolchain and runtime.
format Preprint
id arxiv_https___arxiv_org_abs_2604_13675
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Erlang Binary and Source Code Obfuscation
Morse, Gregory
Kozsik, Tamás
Programming Languages
Cryptography and Security
68N20 (Primary) 68M25, 68N19 (Secondary)
D.2.7; D.3.4; D.4.6
This paper studies obfuscation techniques for Erlang programs at the source, abstract syntax tree, BEAM assembly, and BEAM bytecode levels. We focus on transformations that complicate reverse engineering, decompilation, and recompilation while remaining grounded in the actual behavior of the Erlang compiler, validator, loader, and virtual machine. The paper categorizes opcode-level dependency tricks, receive-based loop encodings, irregular control-flow constructions, mutability-oriented performance obfuscation, and self-modifying code enabled by dynamic module loading. A recurring theme is that effective obfuscation in BEAM often arises not from arbitrary corruption, but from exploiting representational gaps between high-level Erlang semantics and the lower-level execution model accepted by the toolchain and runtime.
title Erlang Binary and Source Code Obfuscation
topic Programming Languages
Cryptography and Security
68N20 (Primary) 68M25, 68N19 (Secondary)
D.2.7; D.3.4; D.4.6
url https://arxiv.org/abs/2604.13675