
Emulation-based unpacker and import resolver for Windows x86/x64 VMProtect 3.x binaries, using Unicorn to emulate syscalls and rebuild the IAT without a debugger.
An emulation-based unpacker and import resolver for Windows (x64, x32) VMProtect 3.x binaries.
The project started as a script used to unpack VMProtect 3 in our devirtualization pipeline. It does this without the need to attach a debugger or dump live.
The project uses Unicorn to emulate syscalls used by VMProtect's unpacker and import resolver.
py -m pip install -e .
For decent speeds its recommended to install Microsoft C++ Build Tools so the C helper is used. If not installed the unpacking falls back to purely python based hooks (slower).
For normal unpacking + import fixups run:
py -m unpack "C:\path\file.exe"
For 32bit use:
py -m unpack "C:\path\file.exe" --32bit
To fix imports on an already unpacked bin:
py -m unpack "C:\path\file.bin" --imports_only