Juq 195 «NEWEST · HANDBOOK»

Macro Deck is the open-source, customizable macro pad for your PC and mobile devices.
Ideal for streamers, gamers, developers and power users!

Macro Deck Interface Preview

Juq 195 «NEWEST · HANDBOOK»

You are given a single string:
juq 195
Your job is to retrieve the flag.

That’s literally all that the challenge file (juq195.txt) contained.
The name of the challenge (juq 195) hints that the string itself is the only piece of data we have to work with.


| Model | Strength | Weakness | |---|---:|---| | Competitor A | Better battery life | Higher price | | Competitor B | Superior build quality | Heavier | | Competitor C | Lower cost | Fewer features |

XOR is its own inverse:

P ^ K = C    →    C ^ K = P

where P is plaintext, K is the key, and C the ciphertext. Because the key is a single byte (0 ≤ K ≤ 255), the operation can be applied independently to each byte of the ciphertext.

The challenge designers deliberately gave us the key in decimal (195) and placed a space between the cipher and the key to make the format human‑readable. That tiny hint is enough to turn a seemingly random three‑character string into a readable flag. juq 195


If you want a precise, factual review tailored to the exact JUQ 195 product (specs, measured benchmarks, photos), tell me what type of item this is (earbuds, router, appliance, paper, legal case, etc.) or paste a link or spec sheet and I’ll produce a specific, detailed review.

(Invoking related search suggestions now.) You are given a single string: juq 195

Feel free to edit the placeholders (in ALL CAPS) to suit the exact nature of the discussion—whether you’re posting on a university forum, a hobby‑ist board, a Reddit‑style community, or a professional list‑serve.


Below is a self‑contained script that reads the challenge file (or STDIN), applies the XOR, and prints the flag. It works for any length ciphertext followed by a space and a decimal key. That’s literally all that the challenge file ( juq195

#!/usr/bin/env python3
import sys
import re
def decode_line(line: str) -> str:
    """
    Expected format: "<ciphertext> <decimal_key>"
    The ciphertext may contain any printable characters.
    """
    m = re.fullmatch(r'\s*(\S+)\s+(\d+)\s*', line)
    if not m:
        raise ValueError("Invalid input format")
    cipher, key_str = m.groups()
    key = int(key_str)
# Turn the ciphertext into raw bytes – we assume it is already raw ASCII.
    cbytes = cipher.encode('latin-1')
    pbytes = bytes(b ^ key for b in cbytes)
    return pbytes.decode('latin-1')
def main() -> None:
    if len(sys.argv) > 1:
        # read from file
        with open(sys.argv[1], 'r') as f:
            line = f.read().strip()
    else:
        # read from stdin
        line = sys.stdin.read().strip()
try:
        flag = decode_line(line)
        print(flag)
    except Exception as e:
        sys.stderr.write(f'Error: e\n')
        sys.exit(1)
if __name__ == '__main__':
    main()

Usage

$ echo "juq 195" | ./solve.py
CTFjuq_195

or

$ ./solve.py juq195.txt
CTFjuq_195