**Description**
> The Oracle gave me this note. She mentioned it uses a substitution cipher. She also reminded me that there is no flag.
**Files given**
 - `oracle.tar.gz` - archive containing [`emsg.txt`](https://github.com/Aurel300/empirectf/blob/master/writeups/2018-05-31-SecurityFest/scripts/oracle/emsg.txt) looking like binary data
**Solution**
The file we have been given indeed is just some text encrypted using a substitution cipher. See [above](#485-crypto--the-note) for how to approach this. The difference for this one is that there are more distinct values, since we are not limited to a polybius square. As such, the most common character is most likely `0x20`, a space. Replacing the most common occurring character `0x68` with `0x20` and everything else with question marks, we get:
> ???? ????????????? ???? ??? ?? ???? ???? ??? ???????? ???? ??? ???? ?? ????? ????? ????? ??? ????????? ???? ???????? ?????????? ?????? ??????? ?? ????? ???????????? ??? ???? ????? ??????? ??????? ???????????????????????????????????????????????????????????????????? ?????????? ???????
Which seems fairly good, all of these could easily be English words. The only one that stands out is the 68 character one - the flag. We should exclude that for our frequency analysis.
I did try using `the` as a crib for this one, but this failed. As you'll soon see, the text doesn't actually include this word. So instead, we just use letter frequencies and deduction.
([interactive decoder script here](https://github.com/Aurel300/empirectf/blob/master/writeups/2018-05-31-SecurityFest/scripts/oracle/Solve.hx))
    --- Interactive decode mode ---    Frequency chart:       0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F    0  0  0  0  0  0  0  0  2  0  1  1  0  1  0  0  0    1  0  4  0  0  0  0  0 12  0  0  0  0  3  1  0  1    2 12 14  0  0 18  3 14 14  0  9  2  2  9 18  4  5    3  0  5  0  1  0  1  0  0  1  0 11 12 11 11  3  6    4  0  0 10  0  0  0  0  0  0  0  0  0  0  0  0  0    5  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    6  0  0  0  0  3  0  4  0 33  0  0  0  0  0  0  0    7  0  0  0  0  0  0  0  1  3  8  0  0  4  1  0  4    8  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    9  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    A  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    B  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    C  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    D  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    E  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    F  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    Current plain text:        0 1 2 3 4 5 6 7 8 9 |  0  1  2  3  4  5  6  7  8  9      0 ? ? ? ?   ? ? ? ? ? | 0C 2D 29 3A 68 1C 3A 21 26 21     10 ? ? ? ? ? ? ? ?   ? | 3C 31 64 42 42 11 27 3D 68 3F     20 ? ? ?   ? ? ?   ? ? | 21 24 24 68 2F 2D 3C 68 21 26     30   ? ? ? ?   ? ? ? ? | 68 24 27 3E 2D 68 3F 21 3C 20     40   ? ? ?   ? ? ? ? ? | 68 1C 20 2D 68 07 26 2D 66 42     50 ? ? ?   ? ? ? ?   ? | 11 27 3D 68 3F 21 24 24 68 3B     60 ? ?   ? ? ? ?   ? ? | 2D 2D 68 3F 20 29 3C 68 26 27     70   ? ? ? ? ?   ? ? ? | 68 27 3C 20 2D 3A 68 20 3D 25     80 ? ?   ? ? ? ? ?   ? | 29 26 68 29 24 21 3E 2D 68 20     90 ? ?   ? ? ? ? ? ? ? | 29 3B 68 3B 2D 2D 26 66 42 11    100 ? ?   ? ? ? ?   ? ? | 27 3D 68 3F 21 24 24 68 3C 3A    110 ? ? ? ? ? ?   ? ? ? | 2D 3B 38 29 3B 3B 68 2A 27 3D    120 ? ? ? ? ? ? ?   ? ? | 26 2C 29 3A 21 2D 3B 68 26 27    130 ? ? ? ?   ? ? ? ? ? | 2A 27 2C 31 68 2C 3A 2D 29 25    140 ? ?   ? ?   ? ? ? ? | 2D 2C 68 27 2E 68 2F 27 21 26    150 ?   ? ? ? ? ? ? ? ? | 2F 68 3C 20 3A 27 3D 2F 20 66    160 ? ? ? ?   ? ? ?   ? | 42 09 26 2C 68 31 27 3D 68 3F    170 ? ? ?   ? ? ? ? ?   | 21 24 24 68 3E 21 3B 21 3C 68    180 ? ? ? ? ? ? ?   ? ? | 78 79 66 42 0A 3D 3C 68 3A 2D    190 ? ? ? ? ?   ? ? ? ? | 25 21 26 2C 64 68 3B 2B 3C 2E    200 ? ? ? ? ? ? ? ? ? ? | 33 1F 79 24 24 17 1D 17 7D 7F    210 ? ? ? ? ? ? ? ? ? ? | 79 24 24 17 2C 3D 17 7C 24 24    220 ? ? ? ? ? ? ? ? ? ? | 17 78 2E 17 7F 20 79 3B 17 79    230 ? ? ? ? ? ? ? ? ? ? | 2E 17 79 17 20 7C 2C 17 26 78    240 ? ? ? ? ? ? ? ? ? ? | 7F 17 3B 7C 79 2C 17 7C 26 31    250 ? ? ? ? ? ? ? ? ? ? | 7F 20 79 26 2F 77 35 42 42 11    260 ? ? ? ?   ? ? ? ? ? | 27 3D 3A 3B 68 3C 3A 3D 24 31    270 ? ? ? ? ?   ? ? ? ? | 64 42 1C 20 2D 68 07 3A 29 2B    280 ? ? ?               | 24 2D 42                         Replace pos / char: char    Replace (charcode): 0x2D    With (charcode):    0x65    (E is the most frequent letter)    Current plain text:        0 1 2 3 4 5 6 7 8 9 |  0  1  2  3  4  5  6  7  8  9      0 ? e ? ?   ? ? ? ? ? | 0C 2D 29 3A 68 1C 3A 21 26 21     10 ? ? ? ? ? ? ? ?   ? | 3C 31 64 42 42 11 27 3D 68 3F     20 ? ? ?   ? e ?   ? ? | 21 24 24 68 2F 2D 3C 68 21 26     30   ? ? ? e   ? ? ? ? | 68 24 27 3E 2D 68 3F 21 3C 20     40   ? ? e   ? ? e ? ? | 68 1C 20 2D 68 07 26 2D 66 42     50 ? ? ?   ? ? ? ?   ? | 11 27 3D 68 3F 21 24 24 68 3B     60 e e   ? ? ? ?   ? ? | 2D 2D 68 3F 20 29 3C 68 26 27     70   ? ? ? e ?   ? ? ? | 68 27 3C 20 2D 3A 68 20 3D 25     80 ? ?   ? ? ? ? e   ? | 29 26 68 29 24 21 3E 2D 68 20     90 ? ?   ? e e ? ? ? ? | 29 3B 68 3B 2D 2D 26 66 42 11    100 ? ?   ? ? ? ?   ? ? | 27 3D 68 3F 21 24 24 68 3C 3A    110 e ? ? ? ? ?   ? ? ? | 2D 3B 38 29 3B 3B 68 2A 27 3D    120 ? ? ? ? ? e ?   ? ? | 26 2C 29 3A 21 2D 3B 68 26 27    130 ? ? ? ?   ? ? e ? ? | 2A 27 2C 31 68 2C 3A 2D 29 25    140 e ?   ? ?   ? ? ? ? | 2D 2C 68 27 2E 68 2F 27 21 26    150 ?   ? ? ? ? ? ? ? ? | 2F 68 3C 20 3A 27 3D 2F 20 66    160 ? ? ? ?   ? ? ?   ? | 42 09 26 2C 68 31 27 3D 68 3F    170 ? ? ?   ? ? ? ? ?   | 21 24 24 68 3E 21 3B 21 3C 68    180 ? ? ? ? ? ? ?   ? e | 78 79 66 42 0A 3D 3C 68 3A 2D    190 ? ? ? ? ?   ? ? ? ? | 25 21 26 2C 64 68 3B 2B 3C 2E    200 ? ? ? ? ? ? ? ? ? ? | 33 1F 79 24 24 17 1D 17 7D 7F    210 ? ? ? ? ? ? ? ? ? ? | 79 24 24 17 2C 3D 17 7C 24 24    220 ? ? ? ? ? ? ? ? ? ? | 17 78 2E 17 7F 20 79 3B 17 79    230 ? ? ? ? ? ? ? ? ? ? | 2E 17 79 17 20 7C 2C 17 26 78    240 ? ? ? ? ? ? ? ? ? ? | 7F 17 3B 7C 79 2C 17 7C 26 31    250 ? ? ? ? ? ? ? ? ? ? | 7F 20 79 26 2F 77 35 42 42 11    260 ? ? ? ?   ? ? ? ? ? | 27 3D 3A 3B 68 3C 3A 3D 24 31    270 ? ? ? ? e   ? ? ? ? | 64 42 1C 20 2D 68 07 3A 29 2B    280 ? e ?               | 24 2D 42                         Replace pos / char: pos    Replace (pos):   196    With (charcode): 0x73    Replace pos / char: pos    Replace (pos):   197    With (charcode): 0x63    Replace pos / char: pos    Replace (pos):   198    With (charcode): 0x74    Replace pos / char: pos    Replace (pos):   199    With (charcode): 0x66    ("sctf" at the beginning of the flag)    ...    ...    ...    Current plain text:        0 1 2 3 4 5 6 7 8 9 |  0  1  2  3  4  5  6  7  8  9      0 ? e ? r   ? r ? ? ? | 0C 2D 29 3A 68 1C 3A 21 26 21     10 t ? ? ? ? ? o ?   w | 3C 31 64 42 42 11 27 3D 68 3F     20 ? ? ?   ? e t   ? ? | 21 24 24 68 2F 2D 3C 68 21 26     30   ? o ? e   w ? t h | 68 24 27 3E 2D 68 3F 21 3C 20     40   ? h e   ? ? e ? ? | 68 1C 20 2D 68 07 26 2D 66 42     50 ? o ?   w ? ? ?   s | 11 27 3D 68 3F 21 24 24 68 3B     60 e e   w h ? t   ? o | 2D 2D 68 3F 20 29 3C 68 26 27     70   o t h e r   h ? ? | 68 27 3C 20 2D 3A 68 20 3D 25     80 ? ?   ? ? ? ? e   h | 29 26 68 29 24 21 3E 2D 68 20     90 ? s   s e e ? ? ? ? | 29 3B 68 3B 2D 2D 26 66 42 11    100 o ?   w ? ? ?   t r | 27 3D 68 3F 21 24 24 68 3C 3A    110 e s ? ? s s   ? o ? | 2D 3B 38 29 3B 3B 68 2A 27 3D    120 ? ? ? r ? e s   ? o | 26 2C 29 3A 21 2D 3B 68 26 27    130 ? o ? ?   ? r e ? ? | 2A 27 2C 31 68 2C 3A 2D 29 25    140 e ?   o f   ? o ? ? | 2D 2C 68 27 2E 68 2F 27 21 26    150 ?   t h r o ? ? h ? | 2F 68 3C 20 3A 27 3D 2F 20 66    160 ? ? ? ?   ? o ?   w | 42 09 26 2C 68 31 27 3D 68 3F    170 ? ? ?   ? ? s ? t   | 21 24 24 68 3E 21 3B 21 3C 68    180 ? ? ? ? ? ? t   r e | 78 79 66 42 0A 3D 3C 68 3A 2D    190 ? ? ? ? ?   s c t f | 25 21 26 2C 64 68 3B 2B 3C 2E    200 ? ? ? ? ? ? ? ? ? ? | 33 1F 79 24 24 17 1D 17 7D 7F    210 ? ? ? ? ? ? ? ? ? ? | 79 24 24 17 2C 3D 17 7C 24 24    220 ? ? f ? ? h ? s ? ? | 17 78 2E 17 7F 20 79 3B 17 79    230 f ? ? ? h ? ? ? ? ? | 2E 17 79 17 20 7C 2C 17 26 78    240 ? ? s ? ? ? ? ? ? ? | 7F 17 3B 7C 79 2C 17 7C 26 31    250 ? h ? ? ? ? ? ? ? ? | 7F 20 79 26 2F 77 35 42 42 11    260 o ? r s   t r ? ? ? | 27 3D 3A 3B 68 3C 3A 3D 24 31    270 ? ? ? h e   ? r ? c | 64 42 1C 20 2D 68 07 3A 29 2B    280 ? e ?               | 24 2D 42                         ...    ...    ...    Current plain text:        0 1 2 3 4 5 6 7 8 9 |  0  1  2  3  4  5  6  7  8  9      0 D e a r   T r i n i | 0C 2D 29 3A 68 1C 3A 21 26 21     10 t y , % % Y o u   w | 3C 31 64 42 42 11 27 3D 68 3F     20 i l l   g e t   i n | 21 24 24 68 2F 2D 3C 68 21 26     30   l o v e   w i t h | 68 24 27 3E 2D 68 3F 21 3C 20     40   T h e   O n e % % | 68 1C 20 2D 68 07 26 2D 66 42     50 Y o u   w i l l   s | 11 27 3D 68 3F 21 24 24 68 3B     60 e e   w h a t   n o | 2D 2D 68 3F 20 29 3C 68 26 27     70   o t h e r   h u m | 68 27 3C 20 2D 3A 68 20 3D 25     80 a n   a l i v e   h | 29 26 68 29 24 21 3E 2D 68 20     90 a s   s e e n % % Y | 29 3B 68 3B 2D 2D 26 66 42 11    100 o u   w i l l   t r | 27 3D 68 3F 21 24 24 68 3C 3A    110 e s p a s s   b o u | 2D 3B 38 29 3B 3B 68 2A 27 3D    120 n d a r i e s   n o | 26 2C 29 3A 21 2D 3B 68 26 27    130 b o d y   d r e a m | 2A 27 2C 31 68 2C 3A 2D 29 25    140 e d   o f   g o i n | 2D 2C 68 27 2E 68 2F 27 21 26    150 g   t h r o u g h % | 2F 68 3C 20 3A 27 3D 2F 20 66    160 % A n d   y o u   w | 42 09 26 2C 68 31 27 3D 68 3F    170 i l l   v i s i t   | 21 24 24 68 3E 21 3B 21 3C 68    180 ? ? % % B u t   r e | 78 79 66 42 0A 3D 3C 68 3A 2D    190 m i n d ,   s c t f | 25 21 26 2C 64 68 3B 2B 3C 2E    200 ? ? ? l l ? ? ? ? ? | 33 1F 79 24 24 17 1D 17 7D 7F    210 ? l l ? d u ? ? l l | 79 24 24 17 2C 3D 17 7C 24 24    220 ? ? f ? ? h ? s ? ? | 17 78 2E 17 7F 20 79 3B 17 79    230 f ? ? ? h ? d ? n ? | 2E 17 79 17 20 7C 2C 17 26 78    240 ? ? s ? ? d ? ? n y | 7F 17 3B 7C 79 2C 17 7C 26 31    250 ? h ? n g ? ? % % Y | 7F 20 79 26 2F 77 35 42 42 11    260 o u r s   t r u l y | 27 3D 3A 3B 68 3C 3A 3D 24 31    270 , % T h e   O r a c | 64 42 1C 20 2D 68 07 3A 29 2B    280 l e %               | 24 2D 42
At this point we have everything pretty much everything from the readable text, but we need to figure out the flag. `?ny?h?ng` looks like `anything`, but we already used those letters. We also used the capital A and T, so we probably need to substitute with numbers. So, eventually:
    Current plain text:        0 1 2 3 4 5 6 7 8 9 |  0  1  2  3  4  5  6  7  8  9      0 D e a r   T r i n i | 0C 2D 29 3A 68 1C 3A 21 26 21     10 t y , % % Y o u   w | 3C 31 64 42 42 11 27 3D 68 3F     20 i l l   g e t   i n | 21 24 24 68 2F 2D 3C 68 21 26     30   l o v e   w i t h | 68 24 27 3E 2D 68 3F 21 3C 20     40   T h e   O n e % % | 68 1C 20 2D 68 07 26 2D 66 42     50 Y o u   w i l l   s | 11 27 3D 68 3F 21 24 24 68 3B     60 e e   w h a t   n o | 2D 2D 68 3F 20 29 3C 68 26 27     70   o t h e r   h u m | 68 27 3C 20 2D 3A 68 20 3D 25     80 a n   a l i v e   h | 29 26 68 29 24 21 3E 2D 68 20     90 a s   s e e n % % Y | 29 3B 68 3B 2D 2D 26 66 42 11    100 o u   w i l l   t r | 27 3D 68 3F 21 24 24 68 3C 3A    110 e s p a s s   b o u | 2D 3B 38 29 3B 3B 68 2A 27 3D    120 n d a r i e s   n o | 26 2C 29 3A 21 2D 3B 68 26 27    130 b o d y   d r e a m | 2A 27 2C 31 68 2C 3A 2D 29 25    140 e d   o f   g o i n | 2D 2C 68 27 2E 68 2F 27 21 26    150 g   t h r o u g h % | 2F 68 3C 20 3A 27 3D 2F 20 66    160 % A n d   y o u   w | 42 09 26 2C 68 31 27 3D 68 3F    170 i l l   v i s i t   | 21 24 24 68 3E 21 3B 21 3C 68    180 0 1 % % B u t   r e | 78 79 66 42 0A 3D 3C 68 3A 2D    190 m i n d ,   s c t f | 25 21 26 2C 64 68 3B 2B 3C 2E    200 { W 1 l l _ U _ 5 7 | 33 1F 79 24 24 17 1D 17 7D 7F    210 1 l l _ d u _ 4 l l | 79 24 24 17 2C 3D 17 7C 24 24    220 _ 0 f _ 7 h 1 s _ 1 | 17 78 2E 17 7F 20 79 3B 17 79    230 f _ 1 _ h 4 d _ n 0 | 2E 17 79 17 20 7C 2C 17 26 78    240 7 _ s 4 1 d _ 4 n y | 7F 17 3B 7C 79 2C 17 7C 26 31    250 7 h 1 n g ? } % % Y | 7F 20 79 26 2F 77 35 42 42 11    260 o u r s   t r u l y | 27 3D 3A 3B 68 3C 3A 3D 24 31    270 , % T h e   O r a c | 64 42 1C 20 2D 68 07 3A 29 2B    280 l e %               | 24 2D 42
Reformatted:
> Dear Trinity,> > You will get in love with The One> > You will see what no other human alive has seen> > You will trespass boundaries nobody dreamed of going through> > And you will visit 01> > But remind, sctf{W1ll_U_571ll_du_4ll_0f_7h1s_1f_1_h4d_n07_s41d_4ny7h1ng?}> > Yours truly,> > The Oracle
`sctf{W1ll_U_571ll_du_4ll_0f_7h1s_1f_1_h4d_n07_s41d_4ny7h1ng?}`