JonathanSalwan/VMProtect-devirtualization
Playing with the VMProtect software protection. Automatic deobfuscation of pure functions using symbolic execution and LLVM. observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 1661
- days_rel: n/a
- days_push: 1544
- n_releases_24m: 0
Adoption not part of the score
1494 stars · 208 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
An experimental research project demonstrating a dynamic approach to devirtualize pure functions protected by VMProtect 3.x using symbolic execution and LLVM. It reconstructs original binary code from obfuscated traces, working best on functions with a single basic block.
Use cases
- devirtualize VMProtect-protected pure functions
- deobfuscate virtualized arithmetic operations in binaries
- recover original code from VMProtect obfuscated traces
- analyze VMProtect virtual machine instruction traces
- convert obfuscated binary code to LLVM IR
- study symbolic execution attacks against software protection
When to choose
- you need to reverse-engineer VMProtect 3.x protected pure functions
- you want to deobfuscate virtualized arithmetic or bitwise operations
- you are researching dynamic devirtualization techniques with symbolic execution and LLVM
- the target function has one or few basic blocks
When to avoid
- the target function has many basic blocks or complex control flow
- the protected code has side effects or is not a pure function
- you need a production-grade, supported deobfuscation tool
- you need a license-compliant dependency (the repo has no license)
Facets
library · maturity experimental
reverse-engineering security compiler developer-tools security reverse-engineering compilers developer-tools python cpp vmprotect symbolic-execution deobfuscation llvm-ir devirtualization binary-analysis program-analysis linux
1 source
- readme: https://github.com/JonathanSalwan/VMProtect-devirtualization · fetched 2026-08-28 · ba52bdda14b6
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| JonathanSalwan/VMProtect-devirtualization | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="JonathanSalwan/VMProtect-devirtualization")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem