CM02 - 250pts
Briefing
Download the file and find a way to get the flag. Contents: cm02.txt
Challenge Files:
Solution
There are several methods for encoding text as emojis:
A common one is to simply offset the alphabet by some unicode value so each letter maps to an emoji. This can be detected because the difference between the maximum and minimum unicode values in the supplied string will be 26, or another number (like 34 for ascii lowercase and digits) that makes sense for the alphabet the flag could be using.
Another method is to simply use the last byte of the unicode value as the ascii letter.
Finally, the approach used for this challenge is a substitution cipher.
This is a substitution cipher because there are 26 unique emojis. We can use a Python script.py to map each emoji to a letter in the alphabet and then replace each emoji with its assigned letter. The output of script.py is in substitution_cipher.txt.
guballa finds the key to be
psndvylqigjfzcerhoumxtwakb
and prints the decoded message. This section corresponds to the flag text:yfpl: yovhxvcmfk_uxsumimxmv_yoewck_ypnv_yeo_uzifvk_ypnv
. It decodes toflag: frequently_substitute_frowny_face_for_smiley_face
Flag
frequently_substitute_frowny_face_for_smiley_face
Last updated