Module 5 · Unpacking Packed Malware — UPX, ASPack, Custom Packers

Manish Garg
Manish Garg Associate of (ISC)² · RingSafe
May 14, 2026
4 min read
Read as
100% Free

No signup. No paywall. No catch. One of our 10 most-requested practitioner modules — published in full so anyone can learn for free. We earn through consulting, not by gating knowledge.

See all 10 free modules →

Why this module exists. Packed malware — code wrapped in a self-decrypting outer layer — defeats static analysis and YARA pattern matching by hiding the real payload until runtime. Unpacking is the prerequisite to meaningful RE on most modern samples. This module covers the canonical unpacking workflow, common packer families, and the techniques that work when automated unpackers fail.

Why this module exists. Roughly 70% of malware samples in the wild are packed in some form. Without unpacking, your analysis stops at “calls VirtualAlloc, calls VirtualProtect, jumps somewhere.” With unpacking, the actual payload is in your disassembler. This module is the structured approach to getting from packed to unpacked.

What packing actually is

A packer wraps the original payload in a stub that does three things at runtime:

  1. Allocates writable + executable memory.
  2. Decrypts / decompresses the original payload into that memory.
  3. Jumps to the unpacked payload (the “Original Entry Point”, OEP).

The job of an unpacker is to let step 1 and step 2 happen, then capture the unpacked bytes from memory before step 3 executes.

Worried about your exposure?

Get a free attack-surface review

We check what an attacker would see about your business — leaked credentials, exposed services, dark-web mentions. 30 minutes, no obligation.

Book exposure review Replies in 4 working hrs · India-only · Senior consultants