Control Flow Flattening / Switch Obfuscation

Control_Flow_Flattening Obfuscation MEDIUM +4 score

🎮 Minecraft Gameplay Impact

Linear method execution is broken into basic blocks nested inside an infinite while(true) loop controlled by a complex tableswitch/lookupswitch state machine.

🔍 Functions & APIs Analyzed

tableswitch / lookupswitch

JVM branch dispatch instructions.

💻 Mod Implementation (Dev Source / Mapped)

// Obfuscated Control Flow
int state = 0;
while (true) {
    switch (state) {
        case 0: doStepA(); state = 2; break;
        case 1: doStepC(); return;
        case 2: doStepB(); state = 1; break;
    }
}

⚙️ Decompiled Representation (Vineflower View)

// Decompiled with Vineflower 1.12
int state = 0;
while(true) {
    switch (state) {
        case 0:
            doStepA();
            state = 2;
            break;
        case 1:
            doStepC();
            return;
        case 2:
            doStepB();
            state = 1;
    }
}

🛡️ Bytecode Signature & Static Detection

Identifies high switch statement density (>0.08) coupled with state loops.