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)PEiDExeinfo PE
Sometimes they directly say:
UPXVMProtectThemidaASPack