EncryptedScroll

Personal Rating: Easy

We start with the binary file "challenge". Let us check some basic information.

file challenge

challenge: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2
strings challenge

The scroll detects prying eyes... The magic dissipates.
      ___________________________
    /                             \
    |  **Ancient Elven Scroll**   |
    |-----------------------------|
    |  The knowledge you seek is  |
    |  hidden within the old runes|
    |  of the Elven mages...      |
    |  Speak the words of power.  |
    \_____________________________/
The Dragon's Heart is hidden beneath the Eternal Flame in Eldoria.
The scroll remains unreadable... Try again.
The ancient scroll hums with magical energy. Enter the mage
s spell: 

Loading the program in Ghidra, the only function that looks interestring is "decrypt_message".

Simplified, this function takes each byte from each hex string as ascii character, subtracts 1 for each character and appends the results in reverse. I wrote a Python script to do this for me:

HTB{s1mpl3_fl4g_4r1thm3t1c}

Last updated