T1045

Deprecated Windows macOS
Software Packing

Description

Software packing is a method of compressing or encrypting an executable. Packing an executable changes the file signature in an attempt to avoid signature-based detection.

Most decompression techniques decompress the executable code in memory. Utilities used to perform software packing are called packers.

Example packers are MPRESS and UPX. A more comprehensive list of known packers is available, but adversaries may create their own packing techniques that do not leave the same artifacts as well-known packers to evade defenses.

Adversaries may use virtual machine software protection as a form of software packing to protect their code. Virtual machine software protection translates an executable's original code into a special format that only a special virtual machine can run.

A virtual machine is then called to run this code.