Operator On The Wire
Join
← Back to Knowledge Base
BLUE TEAM / MALWARE REVERSE / ANALYSIS / STATIC

Packing

UnpacMe is an automated malware unpacking service


Packing serves several purposes:

  • It obfuscates the code, making it more challenging to discern its structure or functionality.
  • It reduces the size of the executable, making it quicker to transfer or less conspicuous.
  • It confounds security researchers by hindering traditional reverse engineering attempts.

If I see:

  • High entropy
  • Small import table
  • RWX section
  • Entry point not in .text
  • Few sections

→ I assume packed and move to dynamic analysis.


Identify

  • Weird section names (.asdf, .vmp0, .UPX0, random strings)
  • RWX Permissions (sections that are Readable + Writable + Executable)
  • Huge Entropy (Normal .text ≈ 6.0–6.8 ; Packed section ≈ 7.2–8.0)
  • Small Import Table (only LoadLibraryA, GetProcAddress, VirtualAlloc, VirtualProtect)
  • Empty Import Table (Big red flag - Imports reconstructed at runtime/manual mapping)
  • Entry Point Suspiciousness (Unpacking stub -> `pushad...popad..jmp..)

Tools

Use:

  • DIE (Detect It Easy)
  • PEiD
  • Exeinfo PE

Sometimes they directly say:

  • UPX
  • VMProtect
  • Themida
  • ASPack