Discovery / Virtual machine reverse engineering

Mystery computer

Learn two unknown instructions and recover an input that reaches the target.

0 creditsHuman example only
Your workbench

Crack the instruction set

◇ and ○ each use one of the four rules below. Probe them on 4-bit words, then identify both. Finally recover an input: A, B, and C must each be 0–7.

Your probe results will appear here.

Recover a starting state

Target registers: 15 · 3 · 12. The program uses your proposed instruction model in the preview.

A = 0
0000
B = 0
0000
C = 0
0000

Input

  1. A ← ◇(A, B)
  2. If A is odd: C ← ○(C,A); otherwise B ← ○(B,C)
  3. Repeat 1/2: A ← ○(A,C)
  4. Repeat 2/2: A ← ○(A,C)
Experiment, make a prediction, and check your solution when ready.
Need a hint?
Use unequal inputs to distinguish addition from XOR. Work backward from final C; it tells you which branch was taken.
Explore another example / 19Numerical control room