crackmes.one

Ben_Lolo's WeeperVM -- Level 2

Author:
Ben_Lolo

Language:
C/C++

Upload:
8:06 PM 04/22/2025

Platform
Unix/linux etc.

Difficulty:
6.0

Quality:
4.0

Arch:
x86-64

Description

Explore the vast capabilities of a fully custom virtualized architecture to recover a hidden phrase. Unlike level 1, this virtual code will not be easily analyzed using a Ghidra processor or Binary Ninja architecture plugin without preprocessing. A slew of protection mechanisms hinder static and dynamic analysis, both in the host code and in the virtualized code. - Multiple string encoding and encrypting schemes - Anti-debug - Anti-memory dump - Anti-patch - Anti-thread suspension - Wholly standardized algorithms - Modified standardized algorithms (this is a crackme, so they were changed to be reversible) - Control flow flattening - Jump tables - If-else ladders - No junk code (unless left in by accident) There are no dependencies for this binary. No libc, no dynamic nor static libraries. The virtualized code takes up almost the whole binary. Despite that, it executes reliably on a system with an 8-core, 1.6GHz CPU and 8GB of DDR3 RAM.