joystickControl Flow Flattering (Obfuscação Avançada do Fluxo)

O Control Flow Flattening é uma técnica de ofuscação passiva utilizada para dificultar a engenharia reversa e a análise estática do código-fonte ou do bytecode de uma aplicação. Ao interferir diretamente na organização do fluxo de execução, essa técnica reduz a legibilidade da lógica interna, protegendo algoritmos proprietários e regras de negócio sensíveis contra entendimento e cópia indevida.

Mecanismo Técnico: O MAD aplica o Control Flow Flattening ao reestruturar o fluxo de execução da aplicação de forma não linear e intencionalmente complexa. Essa transformação quebra a relação lógica direta entre os trechos do código, fragmentando a execução em múltiplos caminhos artificiais. Como resultado, ferramentas de decompilação e análise estática passam a apresentar uma visão distorcida e pouco representativa da lógica original, tornando a análise manual e automatizada mais difícil.

<bundleObfuscation>
    <!--
    Enables obfuscation of the Android Dex files in the application. The minSdkVersion of the application
    must be at least 23.
    -->
    <obfuscateDex>true</obfuscateDex>


    <!--
    Enables obfuscation of the application assets. Each <asset> element defines a path to be obfuscated. The path can
    include wildcards and is relative to the `assets/` directory (e.g. `<asset>secrets/*.txt</asset>` will match every
    ".txt" files at `assets/secrets`).
    -->
    <obfuscateAssets>
        <asset>certificates/*.der</asset>
    </obfuscateAssets>
    
    <!--
    Enables obfuscation of some asset files in the application. The <stack> option in <general> must be
    configured according to your application stack so that the obfuscation is applied to the correct files.
    -->
   	<obfuscateJs>true</obfuscateJs>
</bundleObfuscation>

Atualizado