Even with a conservative mixing approach, 200+ unique binaries are automatically generated from the same codebase.
Selective function inlining and outlining, wrappers for merging and splitting functions.
Keys for strings and constants in each build. Table index permutations.
Legal substitutions (LEA/ADD, CMOV/branch), varied allocation, additional resources.
Randomization of section and function order.
Separation into “hot” and “cold” sections.
Pointer and layout permutation
API table shuffling for each build. Import handler scripts stop working.
Basic block reordering, simplification, opaque predicates (hot spots only).
Context-free grammar isomorphisms
Six diversification levers