CRACK Solution

Alternating Bits

CRACK single-key XOR 0x55 cipher

In-game screenshot of Alternating Bits
In-game view
FamilyCRACK Graph0.235 DifficultyEasy Ring02 IDllama_xor_55

Prerequisites

CALL METER

Unlocks

LADDER DOWN

Accepted input PASS
Techniquesingle-key XOR 0x55 cipher Rulenonzero SamplePASS

Walkthrough

Recover the accepted input below, then submit it to the CRACK verifier.

Reject Samples

  • PAS
  • PASSX
  • pass
  • QASS
Verifier Listing
; llama_xor_55: single-key XOR with 0x55 (01010101, the alternating-bit twin of
; 0xAA). Each input byte is XORed with 0x55 and compared to a stored target. XOR
; is self-inverse. Technique: single-key XOR with 0x55. r0 = 1 on accept. Accept
; rule: nonzero.
;
; targets = 0x05 0x14 0x06 0x06  (after ^0x55)  ->  password "PASS".

        len   r1
        cmp   r1, 4
        jnz   bad           ; exactly 4 bytes

        mov   r7, 0
        ldb   r0, [r7]
        xor   r0, 0x55
        cmp   r0, 0x05
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x55
        cmp   r0, 0x14
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x55
        cmp   r0, 0x06
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x55
        cmp   r0, 0x06
        jnz   bad

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