Avatar

Labs / Hex Hunt

  • Daily Challenge
  • Released 17 Jun 2025
The lab needs to be started first.
Need help to start?
Daily Challenge

Solution Steps

1. Understanding the Challenge

The challenge presents a web page with an input field. The flag is hidden in the JavaScript code, encoded as an array of hexadecimal values.

2. Finding the Hidden Data

Open the browser's Developer Tools (F12 or right-click -> Inspect) and look at the JavaScript code. You'll find an array called encodedData containing hexadecimal values:

const encodedData = [
    "0x35", "0x38", "0x65", "0x33", "0x62", "0x66", "0x66", "0x2d",
    "0x36", "0x33", "0x39", "0x38", "0x2d", "0x34", "0x31", "0x34",
    "0x66", "0x2d", "0x62", "0x37", "0x32", "0x62", "0x2d", "0x65",
    "0x39", "0x63", "0x63", "0x61", "0x31", "0x64", "0x35", "0x63",
    "0x62", "0x62", "0x37"
];

3. Decoding the Flag

There are two ways to decode the flag:

Method 1: Using the Provided Function

In the browser's console, you can use the decodeFlag() function that's already defined in the code:

decodeFlag()

Method 2: Manual Decoding

Each hexadecimal value in the array represents a character in the flag. You can decode it manually by:

  1. Converting each hex value to its decimal equivalent
  2. Using the ASCII table to convert the decimal to a character
  3. Joining all characters together

4. Getting the Flag

The decoded flag will be a UUID. To complete the challenge:

  1. Enter the complete decoded flag in the input field
  2. Click Submit or press Enter

5. Verification

If you entered the correct flag, the page will confirm your success:

58e3bff-6398-414f-b72b-e9cca1d5cbb7

Technical Details

  • The flag is encoded using hexadecimal ASCII values
  • Each value in the array is prefixed with "0x" to indicate it's hexadecimal
  • The String.fromCharCode() function is used to convert the values to characters
  • The challenge uses basic JavaScript array methods and string manipulation