Definition
What is register shuffling?
Register shuffling is a low-level obfuscation technique that randomizes the assignment of values to processor registers in compiled code.
Registers are the small, fast storage slots a processor uses while executing code. A compiler normally allocates them in predictable ways, and analysis tools use that predictability to recognize functions and match known patterns.
Register shuffling breaks the predictability. The code does exactly the same work, but the register assignment is randomized, so signature-based tools and pattern matchers no longer recognize what they are looking at.
