PATCH Solution

VECTOR CLOCK

PATCH ARC rolling stream repair

In-game screenshot of VECTOR CLOCK
In-game view
FamilyPATCH Graph0.740 DifficultyHard Ring04 IDzp06_vector_clock

Prerequisites

Set Bits

Unlocks

PULSE COUNTER

Patch choices seedfix=0x2D bumpfix=0x19 loadfix=r0 mixfix=xor saltfix=0x6A spinfix=3 guardfix=jnz | seedfix=0x2D bumpfix=0x19 loadfix=r0 mixfix=xor saltfix=0x6A spinfix=3 guardfix=jl
Accepted keysVECTOR9 Editable slots7 Rulenonzero

Walkthrough

A stateful byte stream validator is almost right, but several marked data-path lines are stale. Patch the loader, mixer, stream constants, and verdict guard so the real key survives the full battery.

Treat the listing as a pipeline. First make sure the input byte lands in the register the mixer actually reads, then repair the stream constants before trusting the final branch.

Valid Patch Combos

  • seedfix=0x2D bumpfix=0x19 loadfix=r0 mixfix=xor saltfix=0x6A spinfix=3 guardfix=jnz
  • seedfix=0x2D bumpfix=0x19 loadfix=r0 mixfix=xor saltfix=0x6A spinfix=3 guardfix=jl

Reject Battery

  • VECTOR
  • VECTOR9X
  • AECTOR9
  • VECTORX
  • vector9
  • 9ROTCEV

Editable Slot Options

  • seedfix: 0x1C, 0x2D, 0x77, 0x4E
  • bumpfix: 0x30, 0x19, 0x25, 0x42
  • loadfix: r1, r0, r2, r3
  • mixfix: add, xor, sub
  • saltfix: 0x3F, 0x6A, 0x65, 0x9D
  • spinfix: 4, 3, 7, 1
  • guardfix: jz, jnz, jg, jl
Broken Listing
; VECTOR CLOCK: PATCH job. A rolling stream check ships with several
; small defects in the data path. The marked lines are the only legal moves;
; the test battery includes close keys, so a one-line bypass will not hold.

        len   r2
        cmp   r2, 7
        jnz   bad

seedfix: mov   r5, 0x1C
        mov   r7, 0
loop:   cmp   r7, 7
        jge   ok
        mul   r5, 13
bumpfix: add   r5, 0x30

loadfix: ldb   r1, [r7]
mixfix: add   r0, 0x41
saltfix: xor   r0, 0x3F
spinfix: rol   r0, 4
        xor   r0, r5

        cmp   r7, 0
        jz    t0
        cmp   r7, 1
        jz    t1
        cmp   r7, 2
        jz    t2
        cmp   r7, 3
        jz    t3
        cmp   r7, 4
        jz    t4
        cmp   r7, 5
        jz    t5
        mov   r1, 0xEC      ; position 6
        jmp   chk
t0:     mov   r1, 0x89
        jmp   chk
t1:     mov   r1, 0x60
        jmp   chk
t2:     mov   r1, 0x53
        jmp   chk
t3:     mov   r1, 0x12
        jmp   chk
t4:     mov   r1, 0xCD
        jmp   chk
t5:     mov   r1, 0xE4
        jmp   chk
chk:    cmp   r0, r1
guardfix: jz    bad
        inc   r7
        jmp   loop

ok:     mov   r0, 1
        ret
bad:    mov   r0, 0
        ret