Authored by Adrian Laskowski

Gynvael EN mission 16 - my working

MISSION 016                  DIFFICULTY: ████████░░ [8╱10]
                                                    Operation codename: "Pasokon"

During the operational game our spy (codename "Martin") managed to intercept
hostile communication.

Unfortunately, we have no idea how to decode it. To make matters worse, our most
well versed in crypto agent (codename "Scottie") is on a mission right now and
cannot help us. Your handler advised to use your skills.

The fate of the Chunar rests in your hands!

And remember - if something is not clear, you have a license to bruteforce.

Good luck!
Over and out.


If you find the answer, put it in the comments under this video! If you write a
blogpost / post your solution / code online, please add a link as well!

P.S. I'll show/explain the solution in a video in one or two weeks.
P.S.2. This mission was brought to you by foxtrot_charlie!

I am try to solve gynvael mission 16, but finaly I am fail. I want to share my work on this mission.

First of all I download the file and decode with base64. Then I find that it is a RIFF file which is an wav file.

then I put this file into audacity and play. And sound come form my speeker 'tells' me that this is some kind of data over frequency modulation.

So I create a python scrypt to read the wav file.


We can see the sine wave in form of discrete points. Then I convert this to square wave by set value 1 for every positive cycle of sine wave. And mesure length of pulses.


Next set was convert this form of output to some more square wave looking.


every 'X' is positive cycle of sine wave and ' ' was negetive sine wave cycle.


When You compare the last above two pictures, You can see some pattern.

I assume that this is some form of synchronization before a byte is sending.

So my next step was count the pulse length and display this array


clearly there is a pattern.

So I try to extract this pattern and display only this patterns. Next I hard workd to get only pattern, and display X when pulse length get some threshold value, and display only around 400 pulses from begining of sync signal.






Clearly some kind of picture. So I try to dump this data to raw pixels, where brightnes of pixels is a length of pulses.


This is a picture !

But there is one problem


The length of lines differs.

And I have no idea to fix this line length issue. I give up at this time.

Below my python script.

Edited 1.96 KB
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment