CRACK Solution

Silent Entry

CRACK XOR serial

In-game screenshot of Silent Entry
In-game view
FamilyCRACK Graph0.241 DifficultyEasy Ring02 IDcrackme_01

Prerequisites

SUM GATE

Unlocks

SUM CHECK

Accepted input S1L3NT
TechniqueXOR serial Rulenonzero SampleS1L3NT

Walkthrough

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

Verifier Listing
; crackme_01 "Silent Entry": a 6-byte access code stored XOR-obfuscated. Each
; input byte is XOR'd with the single key 0x2a and compared to a stored byte, so
; the code never appears as plain text. XOR is self-inverse: XOR each stored byte
; by 0x2a to recover the code. Technique: XOR serial (single-key XOR over a 6-byte
; array). r0 = 1 on accept. Accept rule: nonzero.
;
; stored enc = 0x79 0x1b 0x66 0x19 0x64 0x7e; each ^0x2a -> "S1L3NT".

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

        mov   r7, 0
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x79      ; 'S'
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x1b      ; '1'
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x66      ; 'L'
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x19      ; '3'
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x64      ; 'N'
        jnz   bad
        inc   r7
        ldb   r0, [r7]
        xor   r0, 0x2a
        cmp   r0, 0x7e      ; 'T'
        jnz   bad

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