Skip to main content

Settings

Color Mode

Theme Skin

Background

Appearance preferences are saved in this browser only.

Environment

Current Environment Production

Built with JEKYLL_ENV=production. Changes require deployment.

Theme & Build

Jekyll v3.10.0
Last BuildOct 17, 19:54

Page Info

Layout default
Collection none
Path overthewire/vortex/vortex19.md
URL /docs/wargames/vortex/vortex19/
Date 2026-04-07

Source Code

Set repository: USER/REPO in your _config.yml to enable source-code shortcuts.

Vortex19

Vortex Level 19 — write a key generator for a program, hindered by a weak form of binary encryption.

Table of Contents

Source: This content is aggregated from overthewire (MIT). Visit the original repository for the latest version.

Key Generation

This level requires you to “keygen” the level, with a minor obstacle of a weak form of binary encryption in place.

Study guide

Level map: logged in as vortex19, obtain access to vortex20.

What this level teaches

Reverse-engineering a licence or key check, and working around obfuscation.

Key ideas

  • Keygen. A program that creates valid keys by replicating the check’s algorithm.
  • Binary encryption. The program’s code is partly encrypted in a weak way, so you must decode or unpack it before you can read the check.
  • Debug the unpacker. The decryption routine itself is your way in.

How to approach it

  1. Find how and when the code is decrypted.
  2. Dump the decoded version and analyse the check.
  3. Reproduce the algorithm in your own program.

Why it matters

Packers and obfuscators appear in malware and licence schemes, and unpacking is a basic skill.