Discovery / Virtual machine reverse engineering
Mystery computer
Learn two unknown instructions and recover an input that reaches the target.
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
- A ← ◇(A, B)
- If A is odd: C ← ○(C,A); otherwise B ← ○(B,C)
- Repeat 1/2: A ← ○(A,C)
- 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.