SKIP TO MAIN CONTENT

[ WRITEUP NODE / FIELD REPORTS ]

SOLVED CHALLENGES & FIELD ANALYSIS

SECURITY RESEARCH KNOWLEDGE TECHNIQUES
B3S/WRITEUPS/INSTRUCTION-PATCHING-BASIC-REV
← BACK TO ARCHIVE
EVENT: Cyberweek Africa Qualifiers 2026CATEGORY: Reverse EngineeringPOINTS: 150 PTS

Instruction Patching

AUTHORED BY:@bealthguy10/5/2026

Instruction Patching

Category: REV · Difficulty: Basic · Points: 150 · Challenge: 498

Background

The target is a compiled licensing binary that checks for hardware dongle responses and branches immediately to an error handler. The stated technique is to modify the conditional jump instructions in the binary so that validation succeeds. FORMAT: FLAG{ }

Analysis

The artifact is presented as a compiled binary but is 98 bytes. Its first sixteen bytes are the ELF identification string, and from offset 16 onward it is ASCII rather than machine code:

$ file challenge-056.bin
challenge-056.bin: ELF 64-bit LSB *unknown arch 0x4752* (SYSV)

$ xxd challenge-056.bin
00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000  .ELF............
00000010: 5441 5247 4554 5f52 4556 5f4b 4559 5f30  TARGET_REV_KEY_0
00000020: 3532 5f46 4c41 477b 6377 6132 3032 365f  52_FLAG{cwa2026_
00000030: ...                                           }.........

The unidentified machine type is a consequence of the layout rather than a real target: the e_machine field at offset 18 falls inside the ASCII marker, so the value 0x4752 is simply the characters GR. There is therefore no program image to disassemble, no symbol table and no control flow to trace, and the jump instruction patching described in the brief could not be carried out, since no code section or opcode bytes were present. The marker TARGET_REV_KEY_056_ wraps the flag in cleartext and the remainder of the file is NUL padding.

Result

FLAG{cwa2026_048d464d05f01e14}