# can1357/NoVmp

A static devirtualizer for VMProtect x64 3.x. powered by VTIL.

Repository: https://github.com/can1357/NoVmp
Canonical: https://ross.abutalabs.com/products/novmp
Language: C++
License: GPL-3.0
License Family: copyleft
Topics: devirtualization, vtil, vmprotect
Last push: 2021-08-08T16:34:04+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2208, "days_push": 1851, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2185, forks 352 (observed 2026-08-28T04:06:23.620224+00:00)

## What it is
NoVmp is a static devirtualizer that translates VMProtect x64 3.x-virtualized binaries into optimized VTIL intermediate code, optionally recompiling back to x64. It is an experimental proof-of-concept built on the VTIL-Core library.

## Use cases
- devirtualize VMProtect-protected x64 binaries
- convert virtualized code into readable VTIL for reverse engineering
- remove VMProtect virtualization from an unpacked dump
- analyze specific virtualized routines by address
- undo VMProtect constant obfuscation

## When to choose
- you need to statically analyze or deobfuscate binaries protected with VMProtect x64 3.0-3.5
- you work with VTIL-based binary analysis workflows
- you have an unpacked dump of the target binary

## When to avoid
- you need to handle packed binaries without dumping them first
- you require the experimental x64 recompilation for production use
- the target binary has relocations stripped
- you need jump table support or fast optimization passes

## Facets
- artifact type: cli-tool
- maturity: experimental
- function: reverse-engineering, compiler, parser, developer-tools
- domain: security, reverse-engineering, developer-tools
- platform: windows, cpp, cli
- tags: devirtualization, vmprotect, vtil, binary-analysis, deobfuscation, proof-of-concept

## Member repositories
- can1357/NoVmp (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:23.620224+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:48:11.294011+00:00, confidence not recorded.
  - readme: https://github.com/can1357/NoVmp (fetched 2026-08-28T04:06:23.620224+00:00, sha e5ada2c09ba6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
