CM02 - 250pts
Last updated
Was this helpful?
Last updated
Was this helpful?
Download the file and find a way to get the flag. Contents: cm02.txt
Challenge Files:
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 to map each emoji to a letter in the alphabet and then replace each emoji with its assigned letter. The output of is in .
Now that we have transformed the input, we can use a normal substitution solver such as , , or to get the key for the substitution cipher.
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 to flag: frequently_substitute_frowny_face_for_smiley_face
frequently_substitute_frowny_face_for_smiley_face