skip to main content
hacking.communityplay in the sandbox.
ctf arena
medium/reversing350 pts

Fortress-3: Multi-Stage Anti-Debug Crack-Me

0 solves

We intercepted a proprietary license validator binary from a closed-source application. The vendor claims it's 'uncrackable' due to multiple protection layers. Your mission: extract the master validation key.

The binary was originally protected with UPX 3.96, but our static analysis shows three distinct protection stages:

Stage 1 (Packer Layer): Standard UPX stub, but the OEP has been manually corrupted. The UPX magic bytes are intact at offset 0x1C0: 55505821. Entry point appears to be at RVA 0x5140.

Stage 2 (Anti-Debug): After unpacking, the validator calls IsDebuggerPresent at offset +0x2A3 from OEP. If a debugger is detected, it XORs the validation routine with 0xAA, rendering it useless. The check must be bypassed or the binary patched.

Stage 3 (Anti-VM): At offset +0x4F1 from OEP, the code checks for VMware artifacts by querying registry key HKLM\SYSTEM\CurrentControlSet\Services\vmmouse. If detected, it performs a timing attack: RDTSC before and after a CPUID instruction. If delta > 0x1000 cycles, it replaces the key with a decoy.

Validation Logic: The actual key is stored encrypted at offset +0x6C0 from OEP as a 32-byte blob: C3 4A 91 E2 7F 3B D8 A1 5C 29 F6 84 0D B2 67 1E 93 48 CC 75 2A E9 50 B7 64 1F DA 8E 35 A0 5B F2. The decryption routine XORs each byte with the value (index * 0x13) & 0xFF, then subtracts 0x42.

Your deliverable: Provide the master validation key in ASCII (lowercase hex string without spaces). Assume you are analyzing this in a controlled non-VM environment but need to account for all protections.

// no hints provided for this challenge
// reward at submit: 350 pts · paste the flag exactly as found
// install app

Install hacking.community for fast access, offline reading, and push notifications. No app store needed.