Control-flow flattening, string encryption, opaque predicates, dead code injection, anti-debug and integrity self-checks — real Babel AST rewrites, not string tricks.